Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. runtime/doc/version9.txt +10490 -1
runtime/doc/version9.txt CHANGED
@@ -1,4 +1,4 @@
1
- *version9.txt* For Vim version 9.1. Last change: 2026 Jan 07
2
 
3
 
4
  VIM REFERENCE MANUAL by Bram Moolenaar
@@ -41971,5 +41971,10494 @@ The list of patches that got included since 9.1.0. This includes all the new
41971
  features, but does not include runtime file changes (syntax, indent, ftplugin,
41972
  documentation, etc.)
41973
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
41974
 
41975
  vim:tw=78:ts=8:noet:ft=help:norl:fdm=manual:nofoldenable
 
1
+ *version9.txt* For Vim version 9.1. Last change: 2026 Feb 04
2
 
3
 
4
  VIM REFERENCE MANUAL by Bram Moolenaar
 
41971
  features, but does not include runtime file changes (syntax, indent, ftplugin,
41972
  documentation, etc.)
41973
 
41974
+ Note: authorship and the list of changed files is left out and only visible
41975
+ through `git log` for each commit.
41976
+
41977
+ Patch 9.1.0001
41978
+ Problem: When closing the current window (or when moving it to a tabpage),
41979
+ the previous window may refer to the new current window (`winnr() ==
41980
+ winnr('#')`) if that window is selected as the new current window.
41981
+ Solution: Set `prevwin = NULL` when switching away from an invalid `curwin`
41982
+ and the target window was the `prevwin`. (Sean Dewar)
41983
+
41984
+ Patch 9.1.0002
41985
+ Problem: a closing fold expression may unexpectedly start a new fold when it
41986
+ should end a fold (reported by Shota Nozaki)
41987
+ Solution: if a fold hasn't started yet, do not immediately start a new fold
41988
+ with level 1 (Shota Nozaki)
41989
+
41990
+ Patch 9.1.0003
41991
+ Problem: Cannot build against Ruby 33 dynamically
41992
+ Solution: Ruby 33 removed transient heap, so do not use rb_ary_transient
41993
+ anymore, NoMethodError format changed, so update test for expected
41994
+ error message (Isao Sato)
41995
+
41996
+ Patch 9.1.0004
41997
+ Problem: reloading colorscheme when not changing 'background'
41998
+ Solution: Check, if the background option value actually changed,
41999
+ if not, return early.
42000
+
42001
+ Patch 9.1.0005
42002
+ Problem: OpenVMS build does not support python3 and xterm_save
42003
+ Solution: Enable python3 + xterm_save feature, fix style issues
42004
+ (Zoltan Arpadffy)
42005
+
42006
+ Patch 9.1.0006
42007
+ Problem: is*() and to*() function may be unsafe
42008
+ Solution: Add SAFE_* macros and start using those instead
42009
+ (Keith Thompson)
42010
+
42011
+ Patch 9.1.0007
42012
+ Problem: can select empty inner text blocks
42013
+ (laurentalacoque)
42014
+ Solution: make selecting empty inner text blocks an error textobjects: Make
42015
+ selecting inner empty blocks an error
42016
+
42017
+ Patch 9.1.0008
42018
+ Problem: NSIS installer includes syntax test dumps
42019
+ (Yegappan Lakshmanan)
42020
+ Solution: Exclude syntax/testdir when creating the NSIS installer
42021
+
42022
+ Patch 9.1.0009
42023
+ Problem: Cannot easily get the list of matches
42024
+ Solution: Add the matchstrlist() and matchbufline() Vim script functions
42025
+ (Yegappan Lakshmanan)
42026
+
42027
+ Patch 9.1.0010
42028
+ Problem: Keymap completion is not available
42029
+ Solution: Add keymap completion (Doug Kearns)
42030
+
42031
+ Patch 9.1.0011
42032
+ Problem: regexp cannot match combining chars in collection
42033
+ Solution: Check for combining characters in regex collections for the
42034
+ NFA and BT Regex Engine
42035
+
42036
+ Patch 9.1.0012
42037
+ Problem: regression with empty inner blocks introduced
42038
+ (after v9.1.0007)
42039
+ Solution: Set correct cursor position, Check for visual mode
42040
+ being active (Maxim Kim)
42041
+
42042
+ Patch 9.1.0013
42043
+ Problem: Modula2 filetype support lacking
42044
+ Solution: Improve the Modula-2 runtime support, add additional modula2
42045
+ dialects, add compiler plugin, update syntax highlighting,
42046
+ include syntax tests, update Makefiles (Doug Kearns)
42047
+
42048
+ Patch 9.1.0014
42049
+ Problem: incorrect use of W_WINROW in edit.c
42050
+ Solution: compare against curwin->w_height instead Remove incorrect use of
42051
+ W_WINROW
42052
+
42053
+ Patch 9.1.0015
42054
+ Problem: i_CTRL-R- no longer works in replace mode
42055
+ Solution: delete characters in replace mode before putting, add a test, add a
42056
+ bit warning into the documentation, that i_CTRL-R-P/O is not
42057
+ supported in Replace mode for now
42058
+
42059
+ Patch 9.1.0016
42060
+ Problem: default diff highlighting is too noisy
42061
+ Solution: Link diff highlighting groups to new Added/Removed/Changed, revert
42062
+ previous change (Romain Lafourcade)
42063
+
42064
+ Patch 9.1.0017
42065
+ Problem: use-after-free in eval1_emsg() when an empty line follows a lambda
42066
+ (by @yu3s)
42067
+ Solution: only set evalarg->eval_using_cmdline = FALSE when the *arg pointer
42068
+ is not null
42069
+
42070
+ Patch 9.1.0018
42071
+ Problem: use of #if instead of #ifdef
42072
+ Solution: use correct form of #ifdef
42073
+
42074
+ Patch 9.1.0019
42075
+ Problem: cmdline may disappear when changing 'cmdheight'
42076
+ (after Patch 9.0.0190, @markonm)
42077
+ Solution: always re-calculate the old_p_ch value, not only
42078
+ when cmdline_row was higher than expected
42079
+
42080
+ Patch 9.1.0020
42081
+ Problem: Vim9: cannot compile all methods in a class
42082
+ Solution: Support compiling all the methods in a class using :defcompile
42083
+ (Yegappan Lakshmanan)
42084
+
42085
+ Patch 9.1.0021
42086
+ Problem: i_CTRL-R- doesn't work for multibyte chars in Replace mode,
42087
+ Coverity complains missing return value for u_save_cursor()
42088
+ Solution: Use mb_charlen() and del_chars() instead, handle failure mode
42089
+ for u_save_cursor() correctly (@zeertzjq)
42090
+
42091
+ Patch 9.1.0022
42092
+ Problem: Coverity complains about improper use of negative value
42093
+ Solution: Add a condition to validate that keytyped is larger or equal
42094
+ to 0
42095
+
42096
+ Patch 9.1.0023
42097
+ Problem: xxd: few problems with EBCDIC for z/OS (MVS)
42098
+ Solution: Fix xxd build and support ASCII and UTF-8 on z/OS (MVS)
42099
+ natively, add MVS guard checks with __CHARSET_LIB,
42100
+ support $LIBS in the Makefile (Igor Todorovski)
42101
+
42102
+ Patch 9.1.0024
42103
+ Problem: z/OS (MVS) support can be improved
42104
+ Solution: set UTF-8 as the default encoding for z/OS
42105
+
42106
+ Patch 9.1.0025
42107
+ Problem: A few typos in tests and justify.vim
42108
+ Solution: fix them
42109
+
42110
+ Patch 9.1.0026
42111
+ Problem: win32: Windows default font lacking (@clach04)
42112
+ Solution: Improve default font (Ken Takata)
42113
+
42114
+ Patch 9.1.0027
42115
+ Problem: Vim is missing a foreach() func
42116
+ Solution: Implement foreach({expr1}, {expr2}) function, which applies {expr2}
42117
+ for each item in {expr1} without changing it (Ernie Rael)
42118
+
42119
+ Patch 9.1.0028
42120
+ Problem: win32: Ctrl-D cannot be used to close a pipe
42121
+ Solution: Properly detect Ctrl-D when reading from a pipe
42122
+ (GuyBrush)
42123
+
42124
+ Patch 9.1.0029
42125
+ Problem: Cannot act on various terminal response codes
42126
+ Solution: Add the TerminalResponseAll autocommand
42127
+ (Danek Duvall)
42128
+
42129
+ Patch 9.1.0030
42130
+ Problem: Cannot use terminal alternate fonts (PMunch)
42131
+ Solution: Support terminal alternate fonts using CSI SGR 10-20 and t_CF code
42132
+ (PMunch)
42133
+
42134
+ Patch 9.1.0031
42135
+ Problem: Link Error on Windows
42136
+ Solution: Add ifdef HAVE_TGETENT for term_strings_not_set()
42137
+
42138
+ Patch 9.1.0032
42139
+ Problem: MS-Windows installer misses keymaps (Maxim Kim)
42140
+ Solution: Include keymaps in the installer archive (Ken Takata)
42141
+
42142
+ Patch 9.1.0033
42143
+ Problem: Insert mode not stopped if an autocommand modifies a hidden
42144
+ buffer while closing a prompt buffer.
42145
+ Solution: Don't set b_prompt_insert if stop_insert_mode is already set.
42146
+ (zeertzjq)
42147
+
42148
+ Patch 9.1.0034
42149
+ Problem: Window may unexpectedly scroll when 'scrollbind' is set
42150
+ and setting a buffer-local option using setbufvar() (Boris Staletic)
42151
+ Solution: Save and restore the windows topline before opening the
42152
+ popup window.
42153
+
42154
+ Patch 9.1.0035
42155
+ Problem: i_CTRL-] triggers InsertCharPre
42156
+ Solution: Return if CTRL-] is received. InsertCharPre is supposed to be only
42157
+ used for chars to be inserted but i_CTRL-] triggers expansion and is
42158
+ not inserted into the buffer (altermo)
42159
+
42160
+ Patch 9.1.0036
42161
+ Problem: MS-Windows: Warning about unused variable
42162
+ (after 9.1.0030, John Marriott)
42163
+ Solution: Adjust #ifdef and test for HAVE_TGETENT (John Marriott)
42164
+
42165
+ Patch 9.1.0037
42166
+ Problem: Calling get_breakindent_win() repeatedly when computing virtual
42167
+ column, and get_breakindent_win() does a STRCMP() on the whole line
42168
+ since Patch 9.0.0016.
42169
+ Solution: Cache the result, since the line doesn't change.
42170
+ (zeertzjq)
42171
+
42172
+ Patch 9.1.0038
42173
+ Problem: Unnecessary loop in getvcol().
42174
+ Solution: Compare next char position with pos->col directly (zeertzjq).
42175
+
42176
+ Patch 9.1.0039
42177
+ Problem: too vague errors for 'listchars'/'fillchars'
42178
+ Solution: Include the field name in error message (zeertzjq).
42179
+
42180
+ Patch 9.1.0040
42181
+ Problem: Modifying a hidden buffer still interferes with prompt buffer mode
42182
+ changes.
42183
+ Solution: Save and restore b_prompt_insert (zeertzjq).
42184
+
42185
+ Patch 9.1.0041
42186
+ Problem: xxd -i may generate incorrect C statements (Kuratius)
42187
+ Solution: xxd: Make size type returned by -i option compatible with C standard
42188
+ by using type size_t instead of unsigned int (Kuratius)
42189
+
42190
+ Patch 9.1.0042
42191
+ Problem: Missing test for Chuck filetype after (Christian Clason)
42192
+ Solution: Add a filetype test
42193
+
42194
+ Patch 9.1.0043
42195
+ Problem: ml_get: invalid lnum when :s replaces visual selection (@ropery)
42196
+ Solution: substitute may decrement the number of lines in a buffer, so
42197
+ validate, that the bottom lines of the visual selection
42198
+ stays within the max buffer line
42199
+
42200
+ Patch 9.1.0044
42201
+ Problem: po Makefiles can be improved
42202
+ Solution: Improve the style of the Makefiles, update Makefile variables,
42203
+ update documentation (RestorerZ)
42204
+
42205
+ Patch 9.1.0045
42206
+ Problem: --remote-silent applies the wildignore option to each argument,
42207
+ which may result in "E479: No match" (hebaronson)
42208
+ Solution: temporarily reset 'wildignore' setting when building the :drop
42209
+ command
42210
+
42211
+ Patch 9.1.0046
42212
+ Problem: :drop does not re-use empty buffer (Rocco Mao)
42213
+ Solution: Make :drop re-use an empty buffer (Rocco Mao)
42214
+
42215
+ Patch 9.1.0047
42216
+ Problem: Things that temporarily change/restore curwin/buf (e.g: win_execute,
42217
+ some autocmds) may break assumptions that curwin/buf is the cmdwin
42218
+ when "cmdwin_type != 0", causing issues.
42219
+ Solution: Expose the cmdwin's real win/buf and check that instead. Also try to
42220
+ ensure these variables are NULL if "cmdwin_type == 0", allowing them
42221
+ to be used directly in most cases without checking cmdwin_type.
42222
+ (Sean Dewar).
42223
+
42224
+ Patch 9.1.0048
42225
+ Problem: Autocmds triggered from opening the cmdwin (in win_split and
42226
+ do_ecmd) can cause issues such as E199, as the current checks
42227
+ are insufficient.
42228
+ Solution: Commands executed from the cmdwin apply to the old curwin/buf, so
42229
+ they should be kept in a "suspended" state; abort if they've
42230
+ changed. Also abort if cmdwin/buf was tampered with, and check that
42231
+ curwin is correct. Try to clean up the cmdwin buffer (only if hidden
42232
+ and non-current to simplify things; the same approach is used when
42233
+ closing cmdwin normally), and add a beep. (Sean Dewar)
42234
+
42235
+ Patch 9.1.0049
42236
+ Problem: E95 is possible if a buffer called "[Command Line]" already exists
42237
+ when opening the cmdwin. This can also happen if the cmdwin's buffer
42238
+ could not be deleted when closing.
42239
+ Solution: Un-name the cmdwin buffer, and give it a special name instead,
42240
+ similar to what's done for quickfix buffers and for unnamed prompt
42241
+ and scratch buffers. As a result, BufFilePre/Post are no longer
42242
+ fired when opening the cmdwin. Add a "command" key to the dictionary
42243
+ returned by getbufinfo() to differentiate the cmdwin buffer instead.
42244
+ (Sean Dewar)
42245
+
42246
+ Patch 9.1.0050
42247
+ Problem: Win32 Keyboard handling is sub-optimal and has many issues with
42248
+ international keyboards (risa2000) (after v8.2.4807)
42249
+ Solution: soft-rollback the change, allow the user to select a suitable
42250
+ key-translation strategy (Anton Sharonov)
42251
+
42252
+ Patch 9.1.0051
42253
+ Problem: MS-Windows: Key event test fail (after 9.1.0050)
42254
+ Solution: Catch Interrupt and return Ctrl-C
42255
+
42256
+ Patch 9.1.0052
42257
+ Problem: Patch 9.1.0041 causes regressions for users (Gleb
42258
+ Fotengauer-Malinovskiy)
42259
+ Solution: Revert 9.1.0041 and restore old behaviour
42260
+
42261
+ Patch 9.1.0053
42262
+ Problem: MS-Windows: Key event test still fails
42263
+ Solution: Catch more interrupts (after 9.1.0051)
42264
+
42265
+ Patch 9.1.0054
42266
+ Problem: 'linebreak' may still apply to leading whitespace (VanaIgr)
42267
+ Solution: Compare pointers instead of virtual columns (zeertzjq).
42268
+
42269
+ Patch 9.1.0055
42270
+ Problem: formatting long lines is slow (kawaii-Code)
42271
+ Solution: optimize gq (internal_format) for long lines (kawaii-Code)
42272
+
42273
+ Patch 9.1.0056
42274
+ Problem: Incorrect number of trailing spaces inserted for multibyte
42275
+ characters when pasting a blockwise register in blockwise visual
42276
+ mode (VanaIgr)
42277
+ Solution: Skip over trailing UTF-8 bytes when computing the number of trailing
42278
+ spaces (VanaIgr)
42279
+
42280
+ Patch 9.1.0057
42281
+ Problem: MS-Windows: Key event test still fails
42282
+ Solution: Skip testing CTRL-C, since it causes an Interrupt which causes a
42283
+ test failure (after 9.1.0053)
42284
+
42285
+ Patch 9.1.0058
42286
+ Problem: Cannot map Super Keys in GTK UI (Casey Tucker)
42287
+ Solution: Enable Super Key mappings in GTK using <D-Key> (Casey Tucker)
42288
+
42289
+ Patch 9.1.0059
42290
+ Problem: No event is triggered before creating a window
42291
+ Solution: Add the WinNewPre event (Sergey Vlasov).
42292
+
42293
+ Patch 9.1.0060
42294
+ Problem: Recorded register cannot be translated using keytrans() when it
42295
+ involves character search (iddqd505)
42296
+ Solution: Record a K_IGNORE instead of a K_NOP (zeertzjq).
42297
+
42298
+ Patch 9.1.0061
42299
+ Problem: UX of visual highlighting can be improved
42300
+ Solution: Improve readibility of visual highlighting, by setting better
42301
+ foreground and background colors
42302
+
42303
+ Patch 9.1.0062
42304
+ Problem: Internal error when :luado/perldo/pydo etc delete lines
42305
+ Solution: Test that the line is still valid line number (zeertzjq).
42306
+
42307
+ Patch 9.1.0063
42308
+ Problem: GTK code can be improved
42309
+ Solution: Improve GTK code for initial Wayland support (lilydjwg).
42310
+
42311
+ Patch 9.1.0064
42312
+ Problem: No Wayland support
42313
+ Solution: Add Wayland UI support (lilydjwg).
42314
+
42315
+ Patch 9.1.0065
42316
+ Problem: Segfault with CompleteChanged autocommand (markonm)
42317
+ Solution: Test match->cp_prev for being NULL before accessing it
42318
+
42319
+ Patch 9.1.0066
42320
+ Problem: gcc complains about use of uninitialized var (Tony Mechelynck, after
42321
+ 9.1.0064)
42322
+ Solution: initialize button to silence gcc
42323
+
42324
+ Patch 9.1.0067
42325
+ Problem: gcc still complains about use of uninitialized var (Tony Mechelynck,
42326
+ after 9.1.0064/9.1.0066)
42327
+ Solution: This time init the correct variable
42328
+
42329
+ Patch 9.1.0068
42330
+ Problem: Visual highlighting can still be improved
42331
+ Solution: Update Visual highlighting for 8 color terminals, use uniform grey
42332
+ highlighting for dark and light bg (Maxim Kim)
42333
+
42334
+ Patch 9.1.0069
42335
+ Problem: ScreenLines may not be correctly initialized, causing hang
42336
+ (Olaf Seibert, after 9.0.0220)
42337
+ Solution: always initialize ScreneLines when allocating a screen (Olaf
42338
+ Seibert)
42339
+
42340
+ Patch 9.1.0070
42341
+ Problem: CI: testsuite not run on M1 Mac
42342
+ Solution: Make it run on gh runners for M1, disable failing tests for now,
42343
+ until we figure the problem with the failings tests out (rhysd)
42344
+
42345
+ Patch 9.1.0071
42346
+ Problem: Need a diff() Vim script function
42347
+ Solution: Add the diff() Vim script function using the xdiff internal diff
42348
+ library, add support for "unified" and "indices" mode (Yegappan
42349
+ Lakshmanan).
42350
+
42351
+ Patch 9.1.0072
42352
+ Problem: Not able to build without FEAT_DIFF (John Marriott, after 9.1.0071)
42353
+ Solution: Adjust #ifdefs (Yegappan Lakshmanan)
42354
+
42355
+ Patch 9.1.0073
42356
+ Problem: Looping over modifier_keys_table[] unnecessarily with only
42357
+ MOD_MASK_ALT or MOD_MASK_CMD, as modifier_keys_table[] only contains
42358
+ MOD_MASK_SHIFT and MOD_MASK_CTRL, and the loop won't do anything.
42359
+ Solution: Remove MOD_MASK_ALT and MOD_MASK_CMD from the condition (zeertzjq).
42360
+
42361
+ Patch 9.1.0074
42362
+ Problem: did_set_breakat() should be in optionstr.c as 'breakat' is a string
42363
+ option.
42364
+ Solution: Move did_set_breakat() to optionstr.c (zeertzjq).
42365
+
42366
+ Patch 9.1.0075
42367
+ Problem: insert completion not correct when adding new leader
42368
+ Solution: Reset compl_curr_match to compl_shown_match (glepnir).
42369
+
42370
+ Patch 9.1.0076
42371
+ Problem: luau config file not detected (lopy)
42372
+ Solution: Detect it as jsonc (lopy)
42373
+
42374
+ Patch 9.1.0077
42375
+ Problem: The call to redraw_for_cursorline() in nv_mousescroll() is
42376
+ unnecessary because redraw_for_cursorline() only sets redraw type to
42377
+ UPD_VALID, and all code paths in do_mousescroll() already set redraw
42378
+ type to at least UPD_VALID.
42379
+ Solution: Remove call to redraw_for_cursorline() in nv_mousescroll()
42380
+ (zeertzjq).
42381
+
42382
+ Patch 9.1.0078
42383
+ Problem: GTK3: using wrong style for pre-edit area
42384
+ Solution: remove the widget name, adjust css (lilydjwg).
42385
+
42386
+ Patch 9.1.0079
42387
+ Problem: LineNrAbove and LineNrBelow background wrong on wrapped lines.
42388
+ Solution: Update number column also for wrapped part of a line (zeertzjq).
42389
+
42390
+ Patch 9.1.0080
42391
+ Problem: unexpected error for modifying final list using += operator
42392
+ (Ernie Rael)
42393
+ Solution: Allow List value modification of a final variable using +=
42394
+ operator (Yegappan Lakshmanan)
42395
+
42396
+ Patch 9.1.0081
42397
+ Problem: X11 mouse-scrolling stutters (Ron Aaron, after 9.1.0064)
42398
+ Solution: Handle GDK_SCROLL_SMOOTH fractional distance events
42399
+ (lilydjwg)
42400
+
42401
+ Patch 9.1.0082
42402
+ Problem: Redrawing can be improved when deleting lines with 'cursorline'.
42403
+ Solution: Use smarter invalidation and adjustment. Remove unnecessary
42404
+ UPD_VALID as it is already set at the top of the loop. Make the
42405
+ test for #4862 fail without the fix (zeertzjq).
42406
+
42407
+ Patch 9.1.0083
42408
+ Problem: Redrawing can be improved when inserting/deleting lines with
42409
+ 'number'.
42410
+ Solution: Only redraw the number column of lines below changed lines. Add a
42411
+ test as this wasn't previously tested (zeertzjq).
42412
+
42413
+ Patch 9.1.0084
42414
+ Problem: Visual hl wrong when it ends before multibyte 'showbreak' (lacygoil)
42415
+ Solution: Use vcol_sbr instead of adding n_extra (zeertzjq).
42416
+
42417
+ Patch 9.1.0085
42418
+ Problem: X11 scroll size changes after accessing clipboard (Ernie Rael)
42419
+ Solution: use GDK_SCROLL_MASK for X11 and GDK_SMOOTH_SCROLL_MASK for
42420
+ Wayland (lilydjwg).
42421
+
42422
+ Patch 9.1.0086
42423
+ Problem: Problem when scrolling using slow touchpads scroll event
42424
+ Solution: Better ways to determine if a smooth scroll has ended (when
42425
+ available) (lilydjwg).
42426
+
42427
+ Patch 9.1.0087
42428
+ Problem: Restore lastused_tabpage too early in do_arg_all() function it
42429
+ will change later in the function.
42430
+ Solution: Restore lastused_tabpage a bit later, when being done with
42431
+ tabpages (glepnir).
42432
+
42433
+ Patch 9.1.0088
42434
+ Problem: TextChanged not triggered for :norm! commands (machakann, after
42435
+ v9.0.2031)
42436
+ Solution: Only reset curbuf->b_last_changedtick if TextChangedI was triggered
42437
+ in insert mode (and not blocked)
42438
+
42439
+ Patch 9.1.0089
42440
+ Problem: qsort() comparison functions should be transitive
42441
+ Solution: Do not subtract values, but rather use explicit comparisons
42442
+ Improve qsort() comparison functions
42443
+
42444
+ Patch 9.1.0090
42445
+ Problem: Assigning wrong colors when parsing terminal OSC response
42446
+ Solution: Correctly assign Green and Blue from the terminal response
42447
+ (Maxim Kim)
42448
+
42449
+ Patch 9.1.0091
42450
+ Problem: Syntax test fails when run with non C locale
42451
+ Solution: Run syntax tests with C locale, clean up Xtestscript file,
42452
+ strip environment variables from GetVimCommand() (h-east).
42453
+
42454
+ Patch 9.1.0092
42455
+ Problem: Compiler warning for missing type in scroll_event() (chdiza)
42456
+ Solution: Declare display_type explicitly as integer
42457
+
42458
+ Patch 9.1.0093
42459
+ Problem: Still a qsort() comparison function fuzzy_match_item_compare()
42460
+ that returns result of subtraction (after 9.1.0089).
42461
+ Solution: Use an explicit comparison instead of subtraction (zeertzjq).
42462
+
42463
+ Patch 9.1.0094
42464
+ Problem: xxd: buffer-overflow when writing color output
42465
+ Solution: properly account for the color escape sequences and adjust LLEN
42466
+ macro (Goffredo Baroncelli)
42467
+
42468
+ Patch 9.1.0095
42469
+ Problem: tests: test_restricted() fails (after: v9.1.0091)
42470
+ Solution: Add a space before the pipecmd and the actual Vim command to run
42471
+
42472
+ Patch 9.1.0096
42473
+ Problem: diff() function uses 'diffexpr' (rickhowe)
42474
+ Solution: Make diff() always use internal diff(), add support for unified diff
42475
+ context length, sort diff() options in help (Yegappan Lakshmanan)
42476
+
42477
+ Patch 9.1.0097
42478
+ Problem: 'breakindent' behaves inconsistently with 'list' and splits.
42479
+ Solution: Use 'listchars' from the correct window and handle caching properly.
42480
+ Move cheaper comparisons to the top (zeertzjq).
42481
+
42482
+ Patch 9.1.0098
42483
+ Problem: CompletionChanged not triggered when new leader added causing
42484
+ no matching item in the completion menu
42485
+ Solution: When completion is active but no items matched still trigger
42486
+ CompletChanged event (glepnir).
42487
+
42488
+ Patch 9.1.0099
42489
+ Problem: Not able to use diff() with 'diffexpr' (rickhowe, after v9.1.0096)
42490
+ Solution: Use a default context length of 0, update diff() help text,
42491
+ add a test for using diff() with 'diffexpr' (Yegappan Lakshmanan).
42492
+
42493
+ Patch 9.1.0100
42494
+ Problem: When undoing with 'spell', redrawWinline() is called after
42495
+ changed_lines(), while later win_update() sets redraw type to
42496
+ UPD_NOT_VALID, even though w_redraw_top and w_redraw_bot are
42497
+ still valid.
42498
+ Solution: Only set redraw type to UPD_NOT_VALID when inserting/deleting
42499
+ lines after parts of window has pending redraw, i.e., when
42500
+ changed_lines() is called after redrawWinline() (zeertzjq).
42501
+
42502
+ Patch 9.1.0101
42503
+ Problem: upper-case of ß should be U+1E9E (CAPITAL LETTER SHARP S)
42504
+ (fenuks)
42505
+ Solution: Make gU, ~ and g~ convert the U+00DF LATIN SMALL LETTER SHARP S (ß)
42506
+ to U+1E9E LATIN CAPITAL LETTER SHARP S (ẞ), update tests
42507
+ (glepnir)
42508
+
42509
+ Patch 9.1.0102
42510
+ Problem: settabvar() may change the last accessed tabpage.
42511
+ Solution: Save and restore lastused_tabpage (zeertzjq).
42512
+
42513
+ Patch 9.1.0103
42514
+ Problem: 'breakindentopt' "min" works incorrectly with 'signcolumn'.
42515
+ Solution: Use win_col_off() and win_col_off2() (zeertzjq).
42516
+
42517
+ Patch 9.1.0104
42518
+ Problem: Linking fails with -lto because of PERL_CFLAGS (Zoltan Toth)
42519
+ Solution: Filter out -flto argument from Perl CFLAGS.
42520
+
42521
+ Patch 9.1.0105
42522
+ Problem: Style: typos found
42523
+ Solution: correct them (zeertzjq).
42524
+
42525
+ Patch 9.1.0106
42526
+ Problem: Visual highlight hard to read with 'termguicolors' (Maxim Kim)
42527
+ Solution: Set Visual GUI foreground to black (with background=light)
42528
+ and lightgrey (with background=dark) (Maxim Kim).
42529
+
42530
+ Patch 9.1.0107
42531
+ Problem: CI: Fix MacOS-14 tests (after 9.1.0070)
42532
+ Solution: Re-enable sound tests by granting Mic access, disable
42533
+ Test_diff_screen because of buggy MacOS diff (non GNU version),
42534
+ re-enable Test_term_gettitle() (Yee Cheng Chin)
42535
+
42536
+ Patch 9.1.0108
42537
+ Problem: filetype: no support for dtso files
42538
+ Solution: Add detection for *.dtso files as dts file type (Markus
42539
+ Schneider-Pargmann)
42540
+
42541
+ Patch 9.1.0109
42542
+ Problem: filetype: no support for its files
42543
+ Solution: Add detection for *.its files as dts file type (Brandon Maier)
42544
+
42545
+ Patch 9.1.0110
42546
+ Problem: No support for Config.in filetype
42547
+ Solution: filetype: add 'Config.in' filetype detection
42548
+
42549
+ Patch 9.1.0111
42550
+ Problem: filetype: no support for bats files
42551
+ Solution: Add .bats filetype support
42552
+
42553
+ Patch 9.1.0112
42554
+ Problem: When the quickfix buffer has been modified an autocommand may
42555
+ invalidate the undo stack (kawarimidoll)
42556
+ Solution: When clearing the quickfix buffer, also wipe the undo stack
42557
+
42558
+ Patch 9.1.0113
42559
+ Problem: duplicate code when cleaning undo stack
42560
+ Solution: refactor undo cleanup into a single public function
42561
+
42562
+ Patch 9.1.0114
42563
+ Problem: Setting some options changes curswant unnecessarily.
42564
+ Solution: Add a P_HLONLY flag that prevents changing curswant (zeertzjq).
42565
+
42566
+ Patch 9.1.0115
42567
+ Problem: Using freed memory with full tag stack and user data
42568
+ (Konstantin Khlebnikov)
42569
+ Solution: Clear the user data pointer of the newest entry (zeertzjq,
42570
+ Konstantin Khlebnikov).
42571
+
42572
+ Patch 9.1.0116
42573
+ Problem: win_split_ins has no check for E36 when moving an existing
42574
+ window
42575
+ Solution: check for room and fix the issues in f_win_splitmove()
42576
+ (Sean Dewar)
42577
+
42578
+ Patch 9.1.0117
42579
+ Problem: win_splitmove fires WinNewPre and possibly WinNew when moving
42580
+ windows, even though no new windows are created.
42581
+ Solution: Don't fire WinNew and WinNewPre when inserting an existing window,
42582
+ even if it isn't the current window. Improve the accuracy of related
42583
+ documentation. (Sean Dewar)
42584
+
42585
+ Patch 9.1.0118
42586
+ Problem: saving and restoring all frames to split-move is overkill now
42587
+ that WinNewPre is not fired when split-moving.
42588
+ Solution: defer the flattening of frames until win_split_ins begins
42589
+ reorganising them, and attempt to restore the layout by undoing our
42590
+ changes. (Sean Dewar)
42591
+
42592
+ Patch 9.1.0119
42593
+ Problem: can switch windows while textlocked via f_win_gotoid and
42594
+ f_win_splitmove (which also allows switching in the cmdwin).
42595
+ Solution: Check text_or_buf_locked in f_win_splitmove() (Sean Dewar)
42596
+
42597
+ Patch 9.1.0120
42598
+ Problem: hard to get visual region using Vim script
42599
+ Solution: Add getregion() Vim script function (Shougo Matsushita, Jakub
42600
+ Łuczyński)
42601
+
42602
+ Patch 9.1.0121
42603
+ Problem: infinite loop in win_update with 'smoothscroll' set when
42604
+ window width is equal to textoff, or signed integer overflow
42605
+ if smaller.
42606
+ Solution: Don't revalidate wp->w_skipcol in that case, as no buffer text
42607
+ is being shown. (Sean Dewar)
42608
+
42609
+ Patch 9.1.0122
42610
+ Problem: Some minor issues with the getregion() function
42611
+ Solution: Fix examples in the help, use OP_NOP op_type and MBLOCK
42612
+ as motion_type in f_getreg(), update vim syntax to for getregion()
42613
+ (Maxim Kim)
42614
+
42615
+ Patch 9.1.0123
42616
+ Problem: MS-Windows: system() may deadlock when calling binaries that
42617
+ expect stdin
42618
+ Solution: Ignore the SHELL_EXPAND flag (GuyBrush)
42619
+
42620
+ Patch 9.1.0124
42621
+ Problem: Virtual text with text_align 'right'/'below' wasn't being used when
42622
+ a non-virtual text property overlaps with the end of the line. This
42623
+ was because the non-virtual text property had a higher priority,
42624
+ preventing the virtual text from being used.
42625
+ Solution: Fix the sorting of text properties so virtual text properties have a
42626
+ higher priority than non-virtual text properties (Dylan
42627
+ Thacker-Smith).
42628
+
42629
+ Patch 9.1.0125
42630
+ Problem: unused init of text_prop_idxs in win_line
42631
+ Solution: Remove it, fix typo (Dylan Thacker-Smith).
42632
+
42633
+ Patch 9.1.0126
42634
+ Problem: Internal error when passing mark in another buffer to getregion().
42635
+ Solution: Don't allow marks in another buffer (zeertzjq)
42636
+
42637
+ Patch 9.1.0127
42638
+ Problem: Naming a non-pointer variable "oap" is strange.
42639
+ Solution: Rename it to "oa". Also prevent using freed memory in case of memory
42640
+ allocation failure (zeertzjq).
42641
+
42642
+ Patch 9.1.0128
42643
+ Problem: win_gotoid() checks for textlock and other things when switching
42644
+ to a window that is already current (after v9.1.0119)
42645
+ Solution: return early with success when attempting to switch to curwin
42646
+ (Sean Dewar)
42647
+
42648
+ Patch 9.1.0129
42649
+ Problem: Virtual text with text_wrap 'wrap' was effectively being truncated
42650
+ by a break conditional on the EOL list character being added to the
42651
+ screen line. (BigPeet)
42652
+ Solution: Remove the condition that was leading to the early break and instead
42653
+ fix a similar but incorrectly written outer condition that checks if
42654
+ there is more to add at the end of the screen line. (Dylan
42655
+ Thacker-Smith)
42656
+
42657
+ Patch 9.1.0130
42658
+ Problem: heap-use-after-free in win_splitmove if Enter/Leave autocommands
42659
+ from win_split_ins immediately closes "wp".
42660
+ Solution: check that "wp" is valid after win_split_ins (Sean Dewar).
42661
+
42662
+ Patch 9.1.0131
42663
+ Problem: buffer-completion code too complicated and does not always find all
42664
+ matches (irisjae)
42665
+ Solution: do not try to anchor pattern to beginning of line or
42666
+ directory-separator, always return all matches
42667
+
42668
+ Patch 9.1.0132
42669
+ Problem: using "C" and 've=all' set, doesn't include composing chars when
42670
+ changing a line, keeps the composing chars for whatever is typed
42671
+ afterwards.
42672
+ Solution: Use mb_head_off() and mb_ptr2len() instead of mb_tail_off().
42673
+ (zeertzjq)
42674
+
42675
+ Patch 9.1.0133
42676
+ Problem: font ligatures don't render correctly in the Win32 GUI-version of
42677
+ gvim even when set rop=type:directx is used. Setting guiligatures
42678
+ also doesn't make any difference. This leads to broken font
42679
+ ligatures when the cursor passes through them. It does not recover
42680
+ from this, and they remain broken until you re-render the whole
42681
+ buffer (e.g. by using Ctrl+L).
42682
+ Solution: The problem is that we only re-draw the current and previous
42683
+ character in gui_undraw_cursor() and only have the special case for
42684
+ GTK when it comes to rendering ligatures. So let's enable
42685
+ gui_adjust_undraw_cursor_for_ligatures() to also happen for Win32
42686
+ GUI if guiligatures is setup correctly (all this does is expand the
42687
+ range of gui_undraw_cursor() with ligature characters).
42688
+
42689
+ Patch 9.1.0134
42690
+ Problem: Test_term_gettitle() is flaky on MacOS 14 and Github runners
42691
+ Solution: Skip the test on Github CI
42692
+
42693
+ Patch 9.1.0135
42694
+ Problem: Insufficient testing for 'delcombine'.
42695
+ Solution: Add test for both Normal and Insert modes without Arabic (zeertzjq).
42696
+
42697
+ Patch 9.1.0136
42698
+ Problem: Vim9: need more test for exists()
42699
+ Solution: Add test for exists() with class/objct variables and methods
42700
+ (Yegappan Lakshmanan)
42701
+
42702
+ Patch 9.1.0137
42703
+ Problem: <Del> in cmdline mode doesn't delete composing chars
42704
+ Solution: Use mb_head_off() and mb_ptr2len() (zeertzjq).
42705
+
42706
+ Patch 9.1.0138
42707
+ Problem: too many STRLEN calls when getting a memline
42708
+ Solution: Optimize calls to STRLEN(), add a few functions in memline.c
42709
+ that return the byte length instead of relying on STRLEN() (John
42710
+ Marriott).
42711
+
42712
+ Patch 9.1.0139
42713
+ Problem: MS-Windows: ligatures map cleared on startup
42714
+ Solution: Don't clear the ligatures_map, if the guiligatures option has
42715
+ already been set (Erik S. V. Jansson)
42716
+
42717
+ Patch 9.1.0140
42718
+ Problem: The cursor screen row was incorrectly being calculated when the
42719
+ cursor follows a 1 character text_align 'below' virtual text line,
42720
+ resulting in the cursor being shown on the wrong line. This was
42721
+ caused by a cell size of 2 instead of 1 being used for the EOL
42722
+ character, which propagated to the calculation of space for putting
42723
+ the 'below' virtual text on its own line. (rickhowe)
42724
+ Solution: Fix the size used for the EOL character in calculating the cursor's
42725
+ screen position (Dylan Thacker-Smith).
42726
+
42727
+ Patch 9.1.0141
42728
+ Problem: Put in Visual mode wrong if it replaces fold marker.
42729
+ Solution: Temporarily disable folding during put in Visual mode (zeertzjq).
42730
+
42731
+ Patch 9.1.0142
42732
+ Problem: getregion() can be improved (after v9.1.120)
42733
+ Solution: change getregion() implementation to use pos as lists and one
42734
+ optional {opt} dictionary (Shougo Matsushita)
42735
+
42736
+ Patch 9.1.0143
42737
+ Problem: [security]: autocmd cause use-after-free in set_curbuf()
42738
+ (kawarimidoll)
42739
+ Solution: check side-effect of BufLeave autocommand, when the number
42740
+ of windows changed, close windows containing buffers that will
42741
+ be wiped, if curbuf changed unexpectedly make sure b_nwindows
42742
+ is decremented otherwise it cannot be wiped
42743
+
42744
+ Patch 9.1.0144
42745
+ Problem: getregion() needs more tests
42746
+ Solution: Run the getregion() test in both the legacy and Vim9 contexts
42747
+ (Yegappan Lakshmanan)
42748
+
42749
+ Patch 9.1.0145
42750
+ Problem: the amount of available space (v:echospace) on the command line is
42751
+ not correct when showcmdloc is drawn into the statusline or tabline.
42752
+ Solution: only add SHOWCMD_COLS to the shown command column when 'showcmdloc'
42753
+ is set to last (Sam-programs)
42754
+
42755
+ Patch 9.1.0146
42756
+ Problem: v:echospace wrong after setting invalid value to 'showcmdloc'.
42757
+ Solution: Only call comp_col() if value is valid (zeertzjq).
42758
+
42759
+ Patch 9.1.0147
42760
+ Problem: Cannot keep a buffer focused in a window (Amit Levy)
42761
+ Solution: Add the 'winfixbuf' window-local option (Colin Kennedy).
42762
+
42763
+ Patch 9.1.0148
42764
+ Problem: Vim9: can't call internal methods with objects
42765
+ Solution: Add support for empty(), len() and string() function calls for
42766
+ objects (Yegappan Lakshmanan)
42767
+
42768
+ Patch 9.1.0149
42769
+ Problem: qf_goto_win_with_qfl_file may check if prevwin has 'winfixbuf'
42770
+ set without checking if it's valid first.
42771
+ Solution: Reverse the condition. Add a test, a modeline, and a missing
42772
+ CheckFeature. (Searn Dewar)
42773
+
42774
+ Patch 9.1.0150
42775
+ Problem: several minor 'winfixbuf' issues exist, mostly relating to the
42776
+ quickfix list
42777
+ Solution: address them and adjust tests. Retab and reflow a few things too.
42778
+ (Sean Dewar)
42779
+
42780
+ Patch 9.1.0151
42781
+ Problem: ml_get_buf_len() does not consider text properties (zeertzj)
42782
+ Solution: Store text length excluding text properties length
42783
+ in addition in the memline
42784
+
42785
+ Patch 9.1.0152
42786
+ Problem: Coverity complains about ignoring return value of win_split()
42787
+ (after v9.1.150)
42788
+ Solution: Check if win_split() failed, add winfixbuf.res to Makefile
42789
+
42790
+ Patch 9.1.0153
42791
+ Problem: Text properties corrupted with fo+=aw and backspace
42792
+ Solution: Allocate line and move text properties (zeertzjq).
42793
+
42794
+ Patch 9.1.0154
42795
+ Problem: shm=F not respected when reloading buffer with 'autoread'
42796
+ Solution: Check SHM_FILEINFO in buf_check_timestamp() (Shougo Matsushita).
42797
+
42798
+ Patch 9.1.0155
42799
+ Problem: can only call getregion() for current buffer
42800
+ Solution: Allow to retrieve selections from different buffers (Shougo
42801
+ Matsushita).
42802
+
42803
+ Patch 9.1.0156
42804
+ Problem: may not be clear why failing to split causes an ":Xdo" command to
42805
+ abort if 'wfb' is set.
42806
+ Solution: Do not return immediately if win_split fails, so E1513 is still
42807
+ given. Expect both errors in the test. Also fix tests to pass CI
42808
+ (Sean Dewar).
42809
+
42810
+ Patch 9.1.0157
42811
+ Problem: Duplicate assignment in f_getregion().
42812
+ Solution: Remove the duplicate assignment. Also improve getregion() docs
42813
+ wording and fix an unrelated typo (zeertzjq).
42814
+
42815
+ Patch 9.1.0158
42816
+ Problem: 'shortmess' "F" flag doesn't work properly with 'autoread'
42817
+ (after 9.1.0154)
42818
+ Solution: Hide the file info message instead of the warning dialog
42819
+ (zeertzjq)
42820
+
42821
+ Patch 9.1.0159
42822
+ Problem: Crash in WinClosed after BufUnload closes other windows
42823
+ Solution: Don't trigger WinClosed if the buffer is NULL (zeertzjq).
42824
+
42825
+
42826
+ Patch 9.1.0160
42827
+ Problem: Add support for using a class type of itself in an object method
42828
+ (thinca)
42829
+ Solution: Vim9: Add support for using a class type of itself in an
42830
+ object method (Yegappan Lakshmanan)
42831
+
42832
+ Patch 9.1.0161
42833
+ Problem: expand() removes a slash after an environment variable that ends
42834
+ with a colon on Windows.
42835
+ Solution: Check the correct char for a colon (zeertzjq)
42836
+
42837
+ Patch 9.1.0162
42838
+ Problem: Problem with writing extended attributes on failure
42839
+ Solution: Change return type to ssize_t and check listxattr's return
42840
+ value correctly on failure (Paul Tagliamonte)
42841
+
42842
+ Patch 9.1.0163
42843
+ Problem: Calling STRLEN() to compute ml_line_textlen when not needed.
42844
+ Solution: Use 0 when STRLEN() will be required and call STRLEN() later.
42845
+ (zeertzjq)
42846
+
42847
+ Patch 9.1.0164
42848
+ Problem: Internal error or crash when passing invalid position to
42849
+ getregion().
42850
+ Solution: Give an error for invalid position (zeertzjq).
42851
+
42852
+ Patch 9.1.0165
42853
+ Problem: Vim9: Importing an autoload imported script fails
42854
+ (Song-Tianxiang)
42855
+ Solution: Return the script ID in this case (Yegappan Lakshmanan).
42856
+
42857
+ Patch 9.1.0166
42858
+ Problem: Internal error with blockwise getregion() in another buffer
42859
+ Solution: Also change curwin->w_buffer when changing curbuf (zeertzjq).
42860
+
42861
+ Patch 9.1.0167
42862
+ Problem: Changing buffer in another window using win_execute() causes
42863
+ it to show matchparen (after 9.0.0969).
42864
+ Solution: Delay highlighting with SafeState in BufWinEnter (zeertzjq).
42865
+
42866
+ Patch 9.1.0168
42867
+ Problem: too many STRLEN() calls
42868
+ Solution: Make use of ml_get_len() calls instead (John Marriott).
42869
+
42870
+ Patch 9.1.0169
42871
+ Problem: current window number returned by tabpagewinnr may be outdated when
42872
+ called from win_execute for the original tabpage.
42873
+ Solution: update the original tabpage's tp_curwin in switch_win; use
42874
+ {un}use_tabpage instead. Don't do it in restore_win to ensure
42875
+ tp_curwin of the temporarily visited tabpage is unchanged from
42876
+ switch_win visiting it, as before. (Sean Dewar)
42877
+
42878
+ Patch 9.1.0170
42879
+ Problem: more places exist where curwin == prevwin, and it may even be
42880
+ expected in some cases.
42881
+ Solution: revert v9.1.0001, but document that it's possible instead.
42882
+ (Sean Dewar)
42883
+
42884
+ Patch 9.1.0171
42885
+ Problem: small improvements can be made to split-move related functions.
42886
+ Solution: apply them (Sean Dewar):
42887
+
42888
+ Patch 9.1.0172
42889
+ Problem: More code can use ml_get_buf_len() instead of STRLEN().
42890
+ Solution: Change more STRLEN() calls to ml_get_buf_len(). Also do not
42891
+ set ml_line_textlen in ml_replace_len() if "has_props" is set,
42892
+ because "len_arg" also includes the size of text properties in
42893
+ that case (zeertzjq).
42894
+
42895
+ Patch 9.1.0173
42896
+ Problem: msgfmt ver. 0.22 forcibly converts text to UTF-8
42897
+ Solution: use '--no-convert' if msgfmt supports it. Add a configure
42898
+ check for the msgfmt version (RestorerZ).
42899
+
42900
+ Patch 9.1.0174
42901
+ Problem: 'cursorline' and 'wincolor' highlight missing with concealed and
42902
+ wrapped lines.
42903
+ Solution: Apply 'cursorline' and 'wincolor' highlight to boguscols.
42904
+ (zeertzjq)
42905
+
42906
+ Patch 9.1.0175
42907
+ Problem: winframe functions incorrectly recompute window positions if
42908
+ the altframe wasn't adjacent to the closed frame, which is
42909
+ possible if adjacent windows had 'winfix{width,height}' set.
42910
+ Solution: recompute for windows within the parent of the altframe and
42911
+ closed frame. Skip this (as before) if the altframe was
42912
+ top/left, but only if adjacent to the closed frame, as
42913
+ positions won't change in that case. Also correct the return
42914
+ value documentation for win_screenpos. (Sean Dewar)
42915
+
42916
+ Patch 9.1.0176
42917
+ Problem: Cursor column wrong with 'virtualedit' and conceal.
42918
+ Solution: Correct cursor column at end of line if never reached (zeertzjq).
42919
+
42920
+ Patch 9.1.0177
42921
+ Problem: Coverity reports dead code.
42922
+ Solution: Remove the dead code. Also fix a mistake in ml_get_pos_len()
42923
+ and update some comments (zeertzjq).
42924
+
42925
+ Patch 9.1.0178
42926
+ Problem: E1513 might be confusing (Christoph Thoma)
42927
+ Solution: Reword error message, fix test to not depend on the actual message.
42928
+
42929
+ Patch 9.1.0179
42930
+ Problem: 'wincolor' highlight missing with "below" virtual text.
42931
+ Solution: Subtract n_attr_skip from n_attr. Combine 'wincolor' with other
42932
+ highlights when 'nowrap' is set (zeertzjq).
42933
+
42934
+ Patch 9.1.0180
42935
+ Problem: Cursor pos wrong when double-width chars are concealed.
42936
+ Solution: Advance one more virtual column for a double-width char. Run some
42937
+ tests with both 'wrap' and 'nowrap' (zeertzjq).
42938
+
42939
+ Patch 9.1.0181
42940
+ Problem: no overflow check for string formatting
42941
+ Solution: Check message formatting function for overflow (Chris van Willegen).
42942
+
42943
+ Patch 9.1.0182
42944
+ Problem: Can define function with invalid name inside 'formatexpr'.
42945
+ Solution: Use goto instead of checking for did_emsg later (zeertzjq).
42946
+
42947
+ Patch 9.1.0183
42948
+ Problem: Wrong display or screenpos() result when toggling diff mode.
42949
+ Solution: Reset w_skipcol when disabling 'wrap'. Reset w_leftcol when
42950
+ enabling 'wrap' (zeertzjq).
42951
+
42952
+ Patch 9.1.0184
42953
+ Problem: Cursor position wrong when clicking with conceal and wrap.
42954
+ Solution: Use the virtual column of the last char for ScreenCols[] in
42955
+ boguscols. Remove use of MAXCOL in ScreenCols[]. Rename
42956
+ third argument of wlv_screen_line() to "clear_end" as that's
42957
+ clearer what it does (zeertzjq).
42958
+
42959
+ Patch 9.1.0185
42960
+ Problem: 'wincolor' highlight missing with 'rightleft', "below" virtual
42961
+ text and 'nowrap'.
42962
+ Solution: Handle 'rightleft' in draw_screen_line() (zeertzjq).
42963
+
42964
+ Patch 9.1.0186
42965
+ Problem: Wrong cursor position when clicking after end of line with
42966
+ 'rightleft', 'virtualedit' and conceal.
42967
+ Solution: Set values in ScreenCols[] also with SLF_RIGHTLEFT. Also fix
42968
+ off-by-one cursor position with 'colorcolumn' (zeertzjq).
42969
+
42970
+ Patch 9.1.0187
42971
+ Problem: Dafny files are not recognized.
42972
+ Solution: Recognize *.dfy files as filetype "dafny" (zeertzjq).
42973
+
42974
+ Patch 9.1.0188
42975
+ Problem: Vento files are not recognized.
42976
+ Solution: Recognize *.vto files as filetype "vento" (wrapperup)
42977
+
42978
+ Patch 9.1.0189
42979
+ Problem: Memory leak with "above" virtual text and 'relativenumber'.
42980
+ Solution: Free "text_props" and "text_prop_idxs" before returning.
42981
+ Also fix off-by-one error causing line number to be drawn
42982
+ beyond end of window (zeertzjq).
42983
+
42984
+ Patch 9.1.0190
42985
+ Problem: complete_info() returns wrong order of items (after v9.0.2018)
42986
+ Solution: Revert Patch v9.0.2018 (Girish Palya)
42987
+
42988
+ Patch 9.1.0191
42989
+ Problem: Installer does not remove all files
42990
+ Solution: Update installer and delete all files on uninstall update Sodium
42991
+ library dependency, update Readme (RestorerZ)
42992
+
42993
+ Patch 9.1.0192
42994
+ Problem: :drop tries to :rewind the argumentlist, which results in E37
42995
+ (after v9.1.0046)
42996
+ Solution: Instead of calling ex_rewind(), call open_buffer() only when
42997
+ re-using the initial empty buffer
42998
+
42999
+ Patch 9.1.0193
43000
+ Problem: May leak memory in completion when ga_grow() fails.
43001
+ Solution: Free "wca" when ga_grow() fails (zeertzjq).
43002
+
43003
+ Patch 9.1.0194
43004
+ Problem: gcc complains about uninitialized var (Tony Mechelynck)
43005
+ Solution: Initialize to NULL
43006
+
43007
+ Patch 9.1.0195
43008
+ Problem: memleak with ex_drop(), NULL dereference (zeertzjq)
43009
+ Solution: Revert back to ex_rewind(), use curbuf instead of buf
43010
+
43011
+ Patch 9.1.0196
43012
+ Problem: filetype: support for gnuplot files is lacking
43013
+ Solution: Also detect *.gnuplot files (RobbiZ98).
43014
+
43015
+ Patch 9.1.0197
43016
+ Problem: Vim9: problem evaluating negated boolean logic (lxhillwind)
43017
+ Solution: Don't clear the first value on short circuit evaluation
43018
+ (Yegappan Lakshmanan)
43019
+
43020
+ Patch 9.1.0198
43021
+ Problem: Vim9: compound operators broken for lambdas in an object
43022
+ (girishji)
43023
+ Solution: When using an object from the outer scope, use the LOADOUTER
43024
+ instruction to load the object (Yegappan Lakshmanan).
43025
+
43026
+ Patch 9.1.0199
43027
+ Problem: Not enough tests for the slice() function.
43028
+ Solution: Test with multibyte chars, and in both Legacy and Vim9 script.
43029
+ Update docs to be clearer about how it treats composing chars
43030
+ (zeertzjq).
43031
+
43032
+ Patch 9.1.0200
43033
+ Problem: `gj`/`gk` was updating the desired cursor virtual column to
43034
+ the outer virtual text, even though the actual cursor position
43035
+ was moved to not be on the virtual text, leading the need to
43036
+ do an extra `gj`/`gk` to move past each virtual text line (rickhowe).
43037
+ Solution: Exclude the outer virtual text when getting the line length
43038
+ for moving the cursor with `gj`/`gk`, so that no extra movement is
43039
+ needed to skip over virtual text lines (Dylan Thacker-Smith).
43040
+
43041
+ Patch 9.1.0201
43042
+ Problem: `gM` would include outer virtual text and its padding when
43043
+ getting the line length used to calculate the middle of the
43044
+ line, putting the cursor much closer to virtual text lines.
43045
+ Solution: Exclude outer virtual text in getting the line length for
43046
+ `gM`, so that virtual text doesn't influence where the cursor
43047
+ is moved to (Dylan Thacker-Smith).
43048
+
43049
+ Patch 9.1.0202
43050
+ Problem: leaking memory in add_user() (LuMingYinDetect)
43051
+ Solution: Free user_copy pointer instead of the user ptr
43052
+
43053
+ Patch 9.1.0203
43054
+ Problem: build-error on GNU HURD
43055
+ Solution: Define _XOPEN_SOURCE like for Android and Cygwin
43056
+ (James McCoy)
43057
+
43058
+ Patch 9.1.0204
43059
+ Problem: Backspace inserts spaces with virtual text and 'smarttab'.
43060
+ Solution: Ignore virtual text and wrapping when backspacing (zeertzjq).
43061
+
43062
+ Patch 9.1.0205
43063
+ Problem: Cannot use modifiers before :-Ntabmove.
43064
+ Solution: Check backwards from the command instead of checking from the start
43065
+ of the command line. Slightly adjust docs to make them more
43066
+ consistent (zeertzjq).
43067
+
43068
+ Patch 9.1.0206
43069
+ Problem: unused display_text_first boolean var in win_line()
43070
+ Solution: Remove unused display_text_first boolean variable
43071
+ (Dylan Thacker-Smith)
43072
+
43073
+ Patch 9.1.0207
43074
+ Problem: No autocommand when writing session file
43075
+ Solution: Add SessionWritePost autocommand (Colin Kennedy).
43076
+
43077
+ Patch 9.1.0208
43078
+ Problem: winfixbuf does not allow to re-edit current buffer
43079
+ (Tim Pope, after v9.1.0147)
43080
+ Solution: Explicitly allow :e even when 'winfixbuf' is set,
43081
+ since it just re-loads the current buffer (Colin Kennedy).
43082
+
43083
+ Patch 9.1.0209
43084
+ Problem: leaking memory in exe_newdict() on error (LuMingYinDetect)
43085
+ Solution: free allocated dict if GA_GROW_FALIS()
43086
+
43087
+ Patch 9.1.0210
43088
+ Problem: Motif: leaking memory when mui_mch_dialog() fails (LuMingYinDetect)
43089
+ Solution: When allocating the label using the XmStringCreateLtoR()
43090
+ function fails, before returning also free the allocated
43091
+ buttons pointer.
43092
+
43093
+ Patch 9.1.0211
43094
+ Problem: Page-wise scrolling with Ctrl-F/Ctrl-B implements it's own logic to
43095
+ change the topline and cursor. In doing so, skipcol is not handled
43096
+ properly for 'smoothscroll', and virtual lines.
43097
+ Solution: Re-use the logic from Ctrl-E/Ctrl-Y while staying backward
43098
+ compatible as much as possible.
43099
+
43100
+ Patch 9.1.0212
43101
+ Problem: CI: MS-Windows fails in test_winfixbuf (after v9.1.208)
43102
+ Solution: Skip Ms-Windows for now, fix style
43103
+
43104
+ Patch 9.1.0213
43105
+ Problem: CI: MS-Windows fails in test_winfixbuf (after v9.1.208)
43106
+ Solution: Instead of skipping the test, write the file so it exists on disk,
43107
+ to verify that MS-Windows short filename expansion is successful.
43108
+ (Sean Dewar)
43109
+
43110
+ Patch 9.1.0214
43111
+ Problem: Duplicate condition in win_lbr_chartabsize().
43112
+ Solution: Remove the duplicate condition, as it's already checked above.
43113
+ (zeertzjq)
43114
+
43115
+ Patch 9.1.0215
43116
+ Problem: Page-wise scrolling with Ctrl-D/Ctrl-U implements
43117
+ it's own logic to change the topline and cursor.
43118
+ More logic than necessary for scrolling with Ctrl-F/Ctrl-B
43119
+ was removed in Patch 9.1.0211.
43120
+ Solution: Re-use the logic from Ctrl-E/Ctrl-Y/Ctrl-F/Ctrl-B while
43121
+ staying backward compatible as much as possible.
43122
+ Restore some of the logic that determined how many lines will
43123
+ be scrolled (Luuk van Baal)
43124
+
43125
+ Patch 9.1.0216
43126
+ Problem: Error on exit with EXITFREE and 'winfixbuf'.
43127
+ Solution: Handle DT_FREE before checking for 'winfixbuf' (zeertzjq).
43128
+
43129
+ Patch 9.1.0217
43130
+ Problem: regexp: verymagic cannot match before/after a mark
43131
+ Solution: Correctly check for the very magic check (Julio B)
43132
+
43133
+ Patch 9.1.0218
43134
+ Problem: Unnecessary multiplications in backspace code, as "col / ts * ts" is
43135
+ the same as "col - col % ts".
43136
+ Solution: Change "col / ts * ts" to "col - col % ts". Adjust the loop
43137
+ and the comments ins_bs() to be easier to understand. Update
43138
+ tests to reset 'smarttab' properly (zeertzjq).
43139
+
43140
+ Patch 9.1.0219
43141
+ Problem: No enum support
43142
+ Solution: Implement enums for Vim9 script (Yegappan Lakshmanan)
43143
+
43144
+ Patch 9.1.0220
43145
+ Problem: Typos in code and tests.
43146
+ Solution: Fix typos (zeertzjq).
43147
+
43148
+ Patch 9.1.0221
43149
+ Problem: The if branch to set `text_prop_follows` was both checking if
43150
+ it was at the end of the buffer text line or if it was at the
43151
+ end of the screen line, but the former being true skipped
43152
+ a guard condition in the latter to only consider 'below'
43153
+ virtual text to follow. `text_prop_follows` being improperly
43154
+ set caused it to skip a conditional block to break at the end
43155
+ as well as one to move `ptr` to the end of the text line,
43156
+ while repeated for each following line of the window.
43157
+ Solution: Move the check for whether 'below' virtual text should follow
43158
+ so it is also used when at the end of the buffer text line.
43159
+ (Dylan Thacker-Smith)
43160
+
43161
+ Patch 9.1.0222
43162
+ Problem: When a line is truncated just before 'after'/'right' virtual
43163
+ text and the line also has 'below' virtual text, then the
43164
+ 'below' virtual text would not be displayed, depending on the
43165
+ order these text properties were added.
43166
+ Solution: In the loop to make text properties active, skip instead of
43167
+ break for 'after'/'right' virtual text properties that are
43168
+ ignored due to truncation, so following 'below' text properties can
43169
+ still be made active. Similarly, a loop is needed to determine if a
43170
+ text property follows at the end of the screen. (Dylan
43171
+ Thacker-Smith)
43172
+
43173
+ Patch 9.1.0223
43174
+ Problem: There are two dense conditions with duplication that needs to
43175
+ be kept in sync between the while loop break condition and the
43176
+ condition to skip certain text properties.
43177
+ Solution: Refactor the loop by moving while loop conditions into the body of
43178
+ the while loop so they can be shared with skip conditions. `break`
43179
+ and an `active` variable are used to handle the outcome of these
43180
+ merged conditions (Dylan Thacker-Smith).
43181
+
43182
+ Patch 9.1.0224
43183
+ Problem: If a line has "right" & "below" virtual text properties, where the
43184
+ "below" property may be stored first due to lack of ordering between
43185
+ them, then the line height is calculated to be 1 more and causes the
43186
+ cursor to far over the line.
43187
+ Solution: Remove some unnecessary setting of a `next_right_goes_below = TRUE`
43188
+ flag for "below" and "above" text properties. (Dylan Thacker-Smith)
43189
+
43190
+ Patch 9.1.0225
43191
+ Problem: test_matchparen not run in CI
43192
+ Solution: add test_matchparen.res to NEW_TESTS_RES in Makefile, update changed
43193
+ highlighting dump from v9.1.61
43194
+
43195
+ Patch 9.1.0226
43196
+ Problem: Not able to assign enum values to an enum static variable
43197
+ (zzzyxwvut)
43198
+ Solution: Make it work (Yegappan Lakshmanan)
43199
+
43200
+ Patch 9.1.0227
43201
+ Problem: Recording may still be wrong in Select mode (after 8.2.3993).
43202
+ Solution: Make sure a character isn't split between two buffer blocks
43203
+ (zeertzjq).
43204
+
43205
+ Patch 9.1.0228
43206
+ Problem: Two unrelated things are tested by a single test.
43207
+ Solution: Split it into two, restoring the old Test_brace_single_line().
43208
+ Add missing cleanup to some tests (zeertzjq).
43209
+
43210
+ Patch 9.1.0229
43211
+ Problem: Error E877 is not translated (RestorerZ)
43212
+ Solution: Declare the error with N_ to mark it as translatable, add _()
43213
+ around the error message in regexp_nfa.c
43214
+
43215
+ Patch 9.1.0230
43216
+ Problem: TextChanged autocommand not triggered under some circumstances
43217
+ (Sergey Vlasov)
43218
+ Solution: Trigger TextChanged when TextChangedI has not been triggered
43219
+
43220
+ Patch 9.1.0231
43221
+ Problem: Filetype may be undetected when a SwapExists autocommand sets
43222
+ filetype in another buffer.
43223
+ Solution: Make filetype detection state buffer-specific. Also fix a
43224
+ similar problem for 'modified' (zeertzjq).
43225
+
43226
+ Patch 9.1.0232
43227
+ Problem: Conceal test fails when rightleft feature is disabled.
43228
+ Solution: Skip test if rightleft feature is missing (Julio B).
43229
+
43230
+ Patch 9.1.0233
43231
+ Problem: Vim9: string() output of enum is problematic
43232
+ Solution: Make string() output for an enum consistent with that of a
43233
+ regular object (Yegappan Lakshmanan).
43234
+
43235
+ Patch 9.1.0234
43236
+ Problem: filetype: support for Intel HEX files is lacking
43237
+ Solution: Add more file extensions that are typical for Intel HEX files
43238
+ (Wu, Zhenyu)
43239
+
43240
+ Patch 9.1.0235
43241
+ Problem: filetype: supertux files are not recognized
43242
+ Solution: Supertux uses lisp to store hotkeys in config and game stage
43243
+ information, so add a pattern for supertux files (Wu, Zhenyu).
43244
+
43245
+ Patch 9.1.0236
43246
+ Problem: filetype: texlua files are not recognized
43247
+ Solution: Add '*.tlu' pattern for texlua files (Wu, Zhenyu)
43248
+
43249
+ Patch 9.1.0237
43250
+ Problem: filetype: mplstyle files are not recognized
43251
+ Solution: Detect '*.mplstyle' files as yaml (Wu, Zhenyu)
43252
+
43253
+ Patch 9.1.0238
43254
+ Problem: filetype: jupyterlab and sublime config are not recognized
43255
+ Solution: Detect jupyterlab and sublime config files as json (Wu, Zhenyu).
43256
+
43257
+ Patch 9.1.0239
43258
+ Problem: filetype: gnuplot history files are not recognised
43259
+ Solution: detect .gnuplot_history files as gnuplot (Wu, Zhenyu).
43260
+
43261
+ Patch 9.1.0240
43262
+ Problem: filetype: some python tools config files are not recognized
43263
+ Solution: Detect config files for setuptools, pudb, coverage as dosini
43264
+ (Wu, Zhenyu)
43265
+
43266
+ Patch 9.1.0241
43267
+ Problem: filetype: mysql history files are not recognized
43268
+ Solution: Detect .mysql_history as mysql (Wu, Zhenyu).
43269
+
43270
+ Patch 9.1.0242
43271
+ Problem: filetype: octave history files are not recognized
43272
+ Solution: Detect octave/history files as octave (Wu, Zhenyu).
43273
+
43274
+ Patch 9.1.0243
43275
+ Problem: filetype: netrw history file is not recognized
43276
+ Solution: Detect .netrwhist as vim files (Wu, Zhenyu).
43277
+
43278
+ Patch 9.1.0244
43279
+ Problem: filetype: bash history files are not recognized
43280
+ Solution: detect .bash-history and .bash_history files as bash (Wu, Zhenyu).
43281
+
43282
+ Patch 9.1.0245
43283
+ Problem: filetype: zsh theme, history and zunit files are not
43284
+ recognized.
43285
+ Solution: Detect '.zsh_history', '*.zsh-theme' and '*.zunit' as zsh
43286
+ (Wu, Zhenyu)
43287
+
43288
+ Patch 9.1.0246
43289
+ Problem: filetype: fontconfig files are not recognized
43290
+ Solution: detect 'fonts.conf' as xml (Wu, Zhenyu).
43291
+
43292
+ Patch 9.1.0247
43293
+ Problem: filetype: bundle config files are not recognized
43294
+ Solution: Detect '*/.bundle/config' as yaml (Wu, Zhenyu).
43295
+
43296
+ Patch 9.1.0248
43297
+ Problem: filetype: yarn lock files are not recognized
43298
+ Solution: Detect 'yarn.lock' files as yaml (Wu, Zhenyu).
43299
+
43300
+ Patch 9.1.0249
43301
+ Problem: filetype: rock_manifest and config.ld files are not recognized
43302
+ Solution: Detect 'rock_manifest' and 'config.ld' as lua (Wu, Zhenyu).
43303
+
43304
+ Patch 9.1.0250
43305
+ Problem: filetype: ldscripts cannot be recognized
43306
+ Solution: Detect '*/ldscripts/*' as ld (Wu, Zhenyu).
43307
+
43308
+ Patch 9.1.0251
43309
+ Problem: Filetype test fails.
43310
+ Solution: Move detection by name before detection by extension.
43311
+ Improve TextChanged test and remove wrong test and fix
43312
+ a typo in a comment (zeertzjq).
43313
+
43314
+ Patch 9.1.0252
43315
+ Problem: Vim9: segfault with static in super class (Ernie Rael)
43316
+ Solution: When initializing lhs, use the correct class where a class
43317
+ variable is defined (Yegappan Lakshmanan)
43318
+
43319
+ Patch 9.1.0253
43320
+ Problem: filetype: typespec files are not recognized
43321
+ Solution: Detect '*.tsp' files as typespec (Hilmar Wiegand)
43322
+
43323
+ Patch 9.1.0254
43324
+ Problem: [security]: Heap buffer overflow when calling complete_add()
43325
+ in the first call of 'completefunc'
43326
+ Solution: Call check_cursor() after calling 'completefunc' (zeertzjq).
43327
+
43328
+ Patch 9.1.0255
43329
+ Problem: Vim9: no indication of script nr in stack trace of classes
43330
+ Solution: Prefix the class name with the script name in the stack trace.
43331
+ (Ernie Rael)
43332
+
43333
+ Patch 9.1.0256
43334
+ Problem: Finding autocmd events is inefficient
43335
+ Solution: Use binary search to find events, cache last found events,
43336
+ avoid use of strlen(), add SessionWritePost autocmd, fix
43337
+ test_codestyle and avoid endless loop (John Marriott).
43338
+
43339
+ Patch 9.1.0257
43340
+ Problem: Vim9: :call may not find imported class members (mityu)
43341
+ Solution: Set the typval of an imported lval variable correctly
43342
+ (Yegappan Lakshmanan)
43343
+
43344
+ Patch 9.1.0258
43345
+ Problem: Support for 'smoothscroll' in (half-)page scrolling
43346
+ broke backward compatibility and can be made to work better.
43347
+ (after v9.1.215)
43348
+ Solution: Restore the previous cursor and end-of-buffer behavior for
43349
+ half-page scrolling and improve 'smoothscroll' support.
43350
+ (Luuk van Baal)
43351
+
43352
+ Patch 9.1.0259
43353
+ Problem: Normal mode TextChanged isn't tested properly.
43354
+ Solution: Combine Test_Changed_ChangedI() and Test_Changed_ChangedI_2()
43355
+ and also run it on Windows. Fix a typo in main.c (zeertzjq).
43356
+
43357
+ Patch 9.1.0260
43358
+ Problem: "zb" does not reveal filler lines at the start of a buffer.
43359
+ Scrolled cursor position with 'smoothscroll' is unpredictable,
43360
+ and may reset skipcol later if it is not visible (after v9.1.258)
43361
+ Solution: Replace confusing for loop that reaches final control value too
43362
+ early with while loop. Set "w_curswant" accordingly so cursor
43363
+ will be placed in visible part of topline (Luuk van Baal).
43364
+
43365
+ Patch 9.1.0261
43366
+ Problem: Vim9: protected class and funcrefs accessible outside the class
43367
+ (Aliaksei Budavei)
43368
+ Solution: Check if class and object funcrefs are protected
43369
+ (Yegappan Lakshmanan)
43370
+
43371
+ Patch 9.1.0262
43372
+ Problem: Test for TextChanged is flaky with ASAN.
43373
+ Solution: Wait for the file to be non-empty (zeertzjq).
43374
+
43375
+ Patch 9.1.0263
43376
+ Problem: Vim9: Problem with lambda blocks in enums and classes
43377
+ (Aliaksei Budavei)
43378
+ Solution: Support evaluating lambda blocks from a string, skip over
43379
+ comments (Yegappan Lakshmanan)
43380
+
43381
+ Patch 9.1.0264
43382
+ Problem: libgpm may delete some signal handlers
43383
+ Solution: Restore these signal handlers after calling gpm (Julio B).
43384
+
43385
+ Patch 9.1.0265
43386
+ Problem: console dialog cannot save unnamed buffers
43387
+ Solution: Set bufname before save (glepnir). Define dialog_con_gui
43388
+ to test for GUI+Console dialog support, use it to skip
43389
+ the test when the GUI feature has been defined.
43390
+
43391
+ Patch 9.1.0266
43392
+ Problem: filetype: earthfile files are not recognized
43393
+ Solution: Detect 'Earthfile' as earthfile (Gaëtan Lehmann).
43394
+
43395
+ Patch 9.1.0267
43396
+ Problem: File name entered in GUI dialog is ignored (after v9.1.0265)
43397
+ Solution: Only set file name to "Untitled" if GUI dialog didn't set it.
43398
+ (zeertzjq)
43399
+
43400
+ Patch 9.1.0268
43401
+ Problem: Two tests in test_filechanged.vim are slow.
43402
+ Solution: Sleep for shorter if the +nanotime feature is available (zeertzjq).
43403
+
43404
+ Patch 9.1.0269
43405
+ Problem: Test for TextChanged is still flaky with ASAN.
43406
+ Solution: Don't index the result of readfile() (zeertzjq).
43407
+
43408
+ Patch 9.1.0270
43409
+ Small fixes to a few issues:
43410
+ Problem: Vim9: funcref pointer pt leaks, when function is not found
43411
+ Solution: Free funcref pointer in case of error (
43412
+ Problem: memory leak of crypt state pointer allocation fails
43413
+ Solution: free crypt state pointer properly (
43414
+ Problem: Vim9: Leaking memory when compiling dict fails
43415
+ Solution: Free the memory in case of error (
43416
+ Problem: Coverity complains about derefencing obj_members pointer
43417
+ (after v9.1.0261)
43418
+ Solution: Verify that obj_members ptr is non-null before accessing it
43419
+
43420
+ Patch 9.1.0271
43421
+ Problem: CI sound test aborts with undefined variable
43422
+ Solution: initialize g:result in test_sound.vim
43423
+
43424
+ Patch 9.1.0272
43425
+ Problem: Autocommand may change currect directory after :tcd and :lcd.
43426
+ Solution: Also clear tp_localdir and w_localdir when using aucmd_win.
43427
+ (zeertzjq)
43428
+
43429
+ Patch 9.1.0273
43430
+ Problem: filetype: keymap files are not recognized
43431
+ Solution: Detect '*.keymap' files as Device Tree Files (0xadk).
43432
+
43433
+ Patch 9.1.0274
43434
+ Problem: MS-Windows: a few compiler warnings
43435
+ Solution: Change variable types to resolve compiler warnings (Mike Williams)
43436
+
43437
+ Patch 9.1.0275
43438
+ Problem: filetype: R history files are not recognized
43439
+ Solution: Detect '.Rhistory' files as r filetype (Wu, Zhenyu).
43440
+
43441
+ Patch 9.1.0276
43442
+ Problem: No pandoc syntax support
43443
+ Solution: Add pandoc syntax and compiler plugins (Wu, Zhenyu, Konfekt).
43444
+
43445
+ Patch 9.1.0277
43446
+ Problem: Cannot highlight the Command-line
43447
+ Solution: Add the MsgArea highlighting group (Shougo Matsushita).
43448
+
43449
+ Patch 9.1.0278
43450
+ Problem: filetype: zathurarc files not recognized
43451
+ Solution: Detect '.zathurarc' files as zathurarc filetype,
43452
+ add zathurarc filetype (Wu, Zhenyu)
43453
+
43454
+ Patch 9.1.0279
43455
+ Problem: filetype: roc files are not recognized
43456
+ Solution: Detect '*.roc' files as roc filetype,
43457
+ add a basic filetype plugin (nat-418)
43458
+
43459
+ Patch 9.1.0280
43460
+ Problem: Logic to make sure cursor is in visible part of the screen after
43461
+ scrolling the text with 'smoothscroll' is scattered, asymmetric
43462
+ and contains bugs.
43463
+ Solution: Adjust and create helper function for 'smoothscroll' cursor logic.
43464
+ (Luuk van Baal)
43465
+
43466
+ Patch 9.1.0281
43467
+ Problem: CI: fails Test_compiler_completion
43468
+ Solution: Add pandoc compiler
43469
+
43470
+ Patch 9.1.0282
43471
+ Problem: Finding highlighting attributes is inefficient
43472
+ Solution: Use binary search to find highlighting attributes and color
43473
+ names (John Marriott)
43474
+
43475
+ Patch 9.1.0282
43476
+ Problem: Wrong doc style for pandoc syntax description,
43477
+ Test_diff_eob_halfpage() may fail depending on screen size, using
43478
+ braces in highlight.c when not necessary
43479
+ Solution: Fix pandoc documentation, make sure the window for the test has 7
43480
+ lines, remove the braces.
43481
+
43482
+ Patch 9.1.0284
43483
+ Problem: make testclean is not able to delete failed screendumps.
43484
+ Solution: Remove the "failed" directory when necessary (Julio B).
43485
+
43486
+ Patch 9.1.0285
43487
+ Problem: Problems with cursor position when scrolling half a page.
43488
+ Solution: Rework the cursor logic. (Luuk van Baal)
43489
+
43490
+ Patch 9.1.0286
43491
+ Problem: Vim9: E1027 with defcompile for abstract methods with
43492
+ non-void return types, but still compiles it (zzzyxwvut)
43493
+ Solution: Don't compile abstract methods (Yegappan Lakshmanan).
43494
+
43495
+ Patch 9.1.0287
43496
+ Problem: Vim9: comment may be treated as heredoc start (Ernie Rael).
43497
+ Solution: Use skip_var_list() instead of find_name_end() (zeertzjq).
43498
+
43499
+ Patch 9.1.0288
43500
+ Problem: MS-Windows: compiler warning for size_t to int conversion
43501
+ (after v9.1.0282)
43502
+ Solution: Use size_t instead of int in highlight_set_termgui_attr
43503
+ (Mike Williams).
43504
+
43505
+ Patch 9.1.0289
43506
+ Problem: filetype: some TeX files are not recognized
43507
+ Solution: Add more patterns for TeX files and inspect a few more files for
43508
+ being TeX files (Wu, Zhenyu).
43509
+
43510
+ Patch 9.1.0290
43511
+ Problem: filetype: xilinx files are not recognized
43512
+ Solution: Add a few xilinx specific file patterns, inspect lpr files for being
43513
+ xml/pascal (Wu, Zhenyu)
43514
+
43515
+ Patch 9.1.0291
43516
+ Problem: filetype: libreoffice config files are not recognized
43517
+ Solution: Detect Libreoffice config fils as xml/dosini (Wu, Zhenyu).
43518
+
43519
+ Patch 9.1.0292
43520
+ Problem: filetype: XDG mimeapps.list file is not recognized
43521
+ Solution: Detect mimeapps.list as dosini filetype (Wu, Zhenyu).
43522
+
43523
+ Patch 9.1.0293
43524
+ Problem: filetype: lxqt config files are not recognized
43525
+ Solution: Detect {lxqt,screengrab}/*.conf files as dosini,
43526
+ fix failing filetype test for */tex/latex/**.cfg (Wu, Zhenyu).
43527
+
43528
+ Patch 9.1.0294
43529
+ Problem: plines_m_win() does not take into account it's "limit_winheight"
43530
+ argument for filler lines below the last line of the buffer.
43531
+ (after v9.1.0280)
43532
+ Solution: Check window height when "limit_winheight" is TRUE (Luuk van Baal).
43533
+
43534
+ Patch 9.1.0295
43535
+ Problem: filetype: pip config files are not recognized
43536
+ Solution: detect pip.conf as dosini filetype (Wu, Zhenyu).
43537
+
43538
+ Patch 9.1.0296
43539
+ Problem: Regex engines do not handle case-folding well
43540
+ Solution: Correctly calculate byte length of characters to skip
43541
+
43542
+ Patch 9.1.0297
43543
+ Problem: Patch 9.1.0296 causes too many issues (Tony Mechelynck, @chdiza, CI)
43544
+ Solution: Back out the change for now
43545
+
43546
+ Patch 9.1.0298
43547
+ Problem: MS-Windows: GETTEXT_PATH hard-coded in src/po/Make_mvc.mak
43548
+ Solution: Add IFNDEF/ENDIF around the definition of GETTEXT_PATH
43549
+ (Cthulhux)
43550
+
43551
+ Patch 9.1.0299
43552
+ Problem: Vim9: return type not set for a lambda assigned to script var
43553
+ (Ernie Rael)
43554
+ Solution: Correctly determine the return type (Yegappan Lakshmanan).
43555
+
43556
+ Patch 9.1.0300
43557
+ Problem: Missing test for what Patch v9.1.0285 fixes
43558
+ Solution: Add a test for cursor movement at buffer boundaries (Luuk van Baal).
43559
+
43560
+ Patch 9.1.0301
43561
+ Problem: Vim9: heredoc start may be recognized in string.
43562
+ Solution: Don't skip to closing bracket for invalid list assignment.
43563
+ (zeertzjq)
43564
+
43565
+ Patch 9.1.0302
43566
+ Problem: filetype: blueprint files are not recognized
43567
+ Solution: Detect '*.bp' files as blueprint files, add a minimal filetype
43568
+ plugin (Bruno Belanyi)
43569
+
43570
+ Patch 9.1.0303
43571
+ Problem: filetype: some protocol buffer files not recognized
43572
+ Solution: Detect '*.textproto', '*.textpb', '*.txtpb' as pbtxt files
43573
+ (Bruno Belanyi)
43574
+
43575
+ Patch 9.1.0304
43576
+ Problem: filetype: cgdb config file is not recognized
43577
+ Solution: Detect cgdbrc files as cgdbrc filetype (Wu, Zhenyu).
43578
+
43579
+ Patch 9.1.0305
43580
+ Problem: filetype: some history files are not recognized
43581
+ Solution: Add some history patterns to filetype.vim (Wu, Zhenyu).
43582
+
43583
+ Patch 9.1.0306
43584
+ Problem: filetype: x11vnc config file is not recognized
43585
+ Solution: Detect '.x11vncrc' as conf filetype (Wu, Zhenyu).
43586
+
43587
+ Patch 9.1.0307
43588
+ Problem: filetype: texdoc config files is not recognized
43589
+ Solution: Detect 'texdoc.cnf' as conf filetype (Wu, Zhenyu).
43590
+
43591
+ Patch 9.1.0308
43592
+ Problem: configure: msgfmt hardcoded (after v9.1.0173)
43593
+ Solution: use $MSGFMT instead of msgfmt in configure script,
43594
+ regenerate the configure script (Vladimír Marek).
43595
+
43596
+ Patch 9.1.0309
43597
+ Problem: crash when 'textwidth' > MAX_INT (after vv9.1.0055)
43598
+ (Zoltan Balogh)
43599
+ Solution: limit textwidth to MAX_INT
43600
+
43601
+ Patch 9.1.0310
43602
+ Problem: Filler lines not checked properly in get_scroll_overlap().
43603
+ Solution: Add missing parentheses (zeertzjq).
43604
+
43605
+ Patch 9.1.0311
43606
+ Problem: Some config files are not recognized
43607
+ Solution: Add some patterns for chktex, ripgreprc and ctags config files.
43608
+
43609
+ Patch 9.1.0312
43610
+ Problem: heredocs are not supported for :commands (@balki)
43611
+ Solution: Add heredoc support (Yegappan Lakshmanan).
43612
+
43613
+ Patch 9.1.0313
43614
+ Problem: Crash when using heredoc with comment in command block.
43615
+ Solution: Handle a newline more like the end of the line, fix coverity
43616
+ warning (zeertzjq).
43617
+
43618
+ Patch 9.1.0314
43619
+ Problem: Vim9: Can define a class in a function (Doug Kearns)
43620
+ Solution: Give an error for a class defined in a function, slightly reword
43621
+ some public error messages (Yegappan Lakshmanan).
43622
+
43623
+ Patch 9.1.0315
43624
+ Problem: filetype: a few more dosini files are not recognized
43625
+ Solution: Detect wakatime, reply config files, flatpak, nfs config files
43626
+ and a few more python tools as dosini (or toml) (Wu, Zhenyu).
43627
+
43628
+ Patch 9.1.0316
43629
+ Problem: filetype: some sh and confini files not recognized
43630
+ Solution: Detect neofetch, '.xprofile', XDG-User-Dirs files, paru and makepkg
43631
+ config files (Wu, Zhenyu).
43632
+
43633
+ Patch 9.1.0317
43634
+ Problem: filetype: matplotlibrc files are not recognized
43635
+ Solution: Detect 'matplotlibrc' file as yaml filetype (Wu, Zhenyu).
43636
+
43637
+ Patch 9.1.0318
43638
+ Problem: filetype: translate shell config files are not recognized
43639
+ Solution: Detect 'init.trans', 'translate-shell' and '.trans' files as
43640
+ clojure (Wu, Zhenyu)
43641
+
43642
+ Patch 9.1.0319
43643
+ Problem: Using heredoc in string not tested with :execute.
43644
+ Solution: Test with both :execute and execute() (zeertzjq).
43645
+
43646
+ Patch 9.1.0320
43647
+ Problem: Wrong cursor position after using setcellwidths().
43648
+ Solution: Invalidate cursor position in addition to redrawing (zeertzjq).
43649
+
43650
+ Patch 9.1.0321
43651
+ Problem: When used terminal with XON/XOFF flow control, vim tries to
43652
+ still make CTRL-S mapping available, which results in severe
43653
+ screen corruption, especially on large redraws, and even
43654
+ spurious inputs (John Tsiombikas)
43655
+ Solution: Disallow CTRL-S mapping if such terminal is recognized.
43656
+ Don't remove IXON from the bitmask inversion (Anton Sharonov).
43657
+
43658
+ Patch 9.1.0322
43659
+ Problem: filetype: some mail tools not recognized
43660
+ Solution: Detect '.mbsncrc' as conf, '.msmtprc' as msmtp and '.notmuch-config'
43661
+ as ini filetype (Shane-XB-Qian)
43662
+
43663
+ Patch 9.1.0323
43664
+ Problem: filetype: cabal config files may not be recognized
43665
+ Solution: Change filetype pattern to '*/{,.}cabal/config' (Wu Zhenyu).
43666
+
43667
+ Patch 9.1.0324
43668
+ Problem: filetype: some json files are not recognized
43669
+ Solution: Detect '.jscsrc' and '.vsconfig' as jsonc filetype (Wu, Zhenyu).
43670
+
43671
+ Patch 9.1.0325
43672
+ Problem: filetype: CMakeCache.txt files not recognized
43673
+ Solution: Detect 'CMakeCache.txt' files as cmakecache filetype, include basic
43674
+ syntax script for cmakecache (Wu, Zhenyu, @bfrg)
43675
+
43676
+ Patch 9.1.0326
43677
+ Problem: filetype: some requirements files are not recognized
43678
+ Solution: Detect '*-requirements.txt', 'constraints.txt', 'requirements.in',
43679
+ 'requirements/*.txt' and 'requires/*.txt' as requirements filetype,
43680
+ include pip compiler, include requirements filetype and syntax
43681
+ plugin (Wu, Zhenyu, @raimon49).
43682
+
43683
+ Patch 9.1.0327
43684
+ Problem: No support for using $XDG_CONFIG_HOME
43685
+ Solution: optionally source $XDG_CONFIG_HOME/vim/vimrc (Luca Saccarola).
43686
+
43687
+ Patch 9.1.0328
43688
+ Problem: CI fails with t_?? test
43689
+ Solution: use assert_match instead of assert_equal and test only until t_xo,
43690
+ depending on system there may be several more termcap codes coming
43691
+
43692
+ Patch 9.1.0329
43693
+ Problem: String interpolation fails for Dict type
43694
+ Solution: Support Dict data type properly, also support :put =Dict
43695
+ (without having to convert it to string() first)
43696
+ (Yegappan Lakshmanan).
43697
+
43698
+ Patch 9.1.0330
43699
+ Problem: v9.1.0327 contains an unrelated change
43700
+ Solution: Revert back $USR_VIMRC_FILE to $HOME instead of ~
43701
+
43702
+ Patch 9.1.0331
43703
+ Problem: make install does not install all files (Nick Jensen)
43704
+ Solution: Adjust the Makefile rule to install and uninstall cargo and
43705
+ rust directories (Matt Hammerly)
43706
+
43707
+ Patch 9.1.0332
43708
+ Problem: tests: some assert_equal() calls have wrong order of args
43709
+ Solution: Correct the order (zeertzjq).
43710
+
43711
+ Patch 9.1.0333
43712
+ Problem: tests: test_xdg fails on the appimage repo
43713
+ Solution: compare only the last 30 right characters of $MYVIMRC
43714
+
43715
+ Patch 9.1.0334
43716
+ Problem: No test for highlight behavior with 'ambiwidth'.
43717
+ Solution: Add a screendump test for 'ambiwidth' with 'cursorline'.
43718
+ (zeertzjq)
43719
+
43720
+ Patch 9.1.0335
43721
+ Problem: String interpolation fails for List type
43722
+ Solution: use implicit string(list) for string interpolation and :put =
43723
+ (Yegappan Lakshmanan)
43724
+
43725
+ Patch 9.1.0336
43726
+ Problem: tests: typo in test_xdg
43727
+ Solution: fix typo (Diego Viola)
43728
+
43729
+ Patch 9.1.0337
43730
+ Problem: Missing entry for XDG vimrc file in :version
43731
+ Solution: Add 4th user vimrc entry to :version output (Diego Viola)
43732
+
43733
+ Patch 9.1.0338
43734
+ Problem: Vim9: import through symlinks not correctly handled
43735
+ Solution: Check for script being a symlink but only once (Ernie Rael)
43736
+
43737
+ Patch 9.1.0339
43738
+ Problem: tests: xdg test uses screen dumps
43739
+ Solution: Convert screen dump to normal test (Yegappan Lakshmanan)
43740
+
43741
+ Patch 9.1.0340
43742
+ Problem: Error with matchaddpos() and empty list (@rickhow)
43743
+ Solution: Return early for an empty list
43744
+
43745
+ Patch 9.1.0341
43746
+ Problem: a few memory leaks are found (LuMingYinDetect)
43747
+ Solution: properly free the memory
43748
+
43749
+ Patch 9.1.0342
43750
+ Problem: tests: test_taglist fails when 'helplang' contains non-english
43751
+ Solution: Allow 1 or 2 tagfiles for now (Julio B)
43752
+
43753
+ Patch 9.1.0343
43754
+ Problem: 'showcmd' is wrong for partial mapping with multibyte char,
43755
+ and isn't very readable with modifyOtherKeys.
43756
+ Solution: Decode multibyte char and merge modifiers into the char.
43757
+ (zeertzjq)
43758
+
43759
+ Patch 9.1.0344
43760
+ Problem: Cursor wrong after using setcellwidth() in terminal (mikoto2000)
43761
+ Solution: output additional spaces, so the behaviour matches the GUI
43762
+ (mikoto2000)
43763
+
43764
+ Patch 9.1.0345
43765
+ Problem: gvimrc not sourced from XDG_CONFIG_HOME (after v9.1.0327)
43766
+ Solution: Also try to source from ~/.config/vim/gvimrc and
43767
+ $XDG_CONFIG_HOME/vim/gvimrc (Maxim Kim)
43768
+
43769
+ Patch 9.1.0346
43770
+ Problem: Patch v9.1.0338 fixed sourcing a script with import
43771
+ Solution: Add test `import './file.vim' and verify it works with `:source`
43772
+ so it does not regress (Ernie Rael)
43773
+
43774
+ Patch 9.1.0347
43775
+ Problem: A few typos in test_xdg when testing gvimrc
43776
+ Solution: Fix them (Diego Viola)
43777
+
43778
+ Patch 9.1.0348
43779
+ Problem: X11 does not ignore smooth scroll event (laniakea64)
43780
+ Solution: Correctly ignore unwanted smooth scroll events on X11 (lilydjwg)
43781
+
43782
+ Patch 9.1.0349
43783
+ Problem: Vim9: need static type for typealias
43784
+ Solution: Refactor the typval2type() function and add a static type for
43785
+ typealias (Yegappan Lakshmanan)
43786
+
43787
+ Patch 9.1.0350
43788
+ Problem: tests: test_vim9_dissamble may fail
43789
+ Solution: Instead of hard-coding the lambda number, accept just any number
43790
+ (Julio B)
43791
+
43792
+ Patch 9.1.0351
43793
+ Problem: No test that completing a partial mapping clears 'showcmd'.
43794
+ Solution: Complete partial mappings in Test_showcmd_part_map() instead
43795
+ of using :echo. Adjust some comments (zeertzjq).
43796
+
43797
+ Patch 9.1.0352
43798
+ Problem: Finding cmd modifiers and cmdline-specials is inefficient
43799
+ Solution: Use binary search to find ex command modifiers and
43800
+ cmdline-special characters and reduce the number of strlen()
43801
+ (John Marriott)
43802
+
43803
+ Patch 9.1.0353
43804
+ Problem: tests: Test_autoload_import_relative_compiled fails on Windows
43805
+ Solution: Disable on Windows for now, add missing :bw for clean-up (Ernie Rael)
43806
+
43807
+ Patch 9.1.0354
43808
+ Problem: runtime(uci): No support for uci file types (Wu, Zhenyu)
43809
+ Solution: include basic uci ftplugin and syntax plugins (Colin Caine)
43810
+
43811
+ Patch 9.1.0355
43812
+ Problem: filetype: flake.lock files are not recognized
43813
+ Solution: Detect 'flake.lock' as json filetype (Riley Bruins)
43814
+
43815
+ Patch 9.1.0356
43816
+ Problem: MS-Windows: --remote may change working directory when
43817
+ 'shellslash' is set
43818
+ Solution: normalize directory separators on MS-Windows
43819
+
43820
+ Patch 9.1.0357
43821
+ Problem: Page scrolling does not always place the cursor at the top or
43822
+ bottom of the window (Mathias Rav)
43823
+ Solution: Place the cursor at the top or bottom of the window (Luuk van Baal)
43824
+
43825
+ Patch 9.1.0358
43826
+ Problem: wrong drawing in GUI with setcellwidth() (after v9.1.0344)
43827
+ Solution: move gui.in_use condition (h-east).
43828
+
43829
+ Patch 9.1.0359
43830
+ Problem: MS-Windows: Relative import in a script sourced from a buffer
43831
+ doesn't work (Ernie Rael)
43832
+ Solution: Set a filename, so that we are not trying to use
43833
+ script-relative filename (Yegappan Lakshmanan)
43834
+
43835
+ Patch 9.1.0360
43836
+ Problem: Vim9: does not handle autoloaded variables well
43837
+ Solution: Better handle script-level exported variable references from
43838
+ autoload files (Ernie Rael).
43839
+
43840
+ Patch 9.1.0361
43841
+ Problem: Vim9: vim9type.c is too complicated
43842
+ Solution: Refactor a few functions in vim9type.c (Yegappan Lakshmanan)
43843
+
43844
+ Patch 9.1.0362
43845
+ Problem: expanding rc config files does not work well
43846
+ (Michał Sieroń, after v9.1.0327)
43847
+ Solution: initialize chartab option, required to expand
43848
+ evironment variables
43849
+
43850
+ Patch 9.1.0363
43851
+ Problem: tests: test_winfixbuf is a bit slow
43852
+ Solution: use defer if possible, reset hidden option, use --not-a-term
43853
+ when starting Vim using system() (Yegappan Lakshmanan)
43854
+
43855
+ Patch 9.1.0364
43856
+ Problem: tests: test_vim9_builtin is a bit slow
43857
+ Solution: source tests from a buffer instead of writing and sourcing a file
43858
+ (Yegappan Lakshmanan)
43859
+
43860
+ Patch 9.1.0365
43861
+ Problem: Crash when typing many keys with D- modifier (after 9.1.0227).
43862
+ Solution: Don't treat a 0x80 byte inside a special sequence as the start
43863
+ of a special sequence (zeertzjq).
43864
+
43865
+ Patch 9.1.0366
43866
+ Problem: filetype: ondir files are not recognized
43867
+ Solution: Detect '.ondirrc' as ondir filetype (Jon Parise)
43868
+
43869
+ Patch 9.1.0367
43870
+ Problem: compile_def_function is too long
43871
+ Solution: Move out the code to compile the body of a function
43872
+ (Yegappan Lakshmanan)
43873
+
43874
+ Patch 9.1.0368
43875
+ Problem: MS-Windows: Hard to define the Vim Patchlevel with leading
43876
+ zeroes for the installer
43877
+ Solution: re-define VIM_VERSION_PatchLEVEL_STR with leading zeroes,
43878
+ interpret Patchlevel as decimal in Make_mvc.mak (RestorerZ)
43879
+
43880
+ Patch 9.1.0369
43881
+ Problem: Vim9: problem when importing autoloaded scripts
43882
+ Solution: In `:def` handle storing to vim9 autoload export (Ernie Rael)
43883
+
43884
+ Patch 9.1.0370
43885
+ Problem: MS-Windows: Patch number is zero in installer (jonathan-b-wiebe)
43886
+ Solution: Set VIM_VERSION_PatchLEVEL, fix a few typos in the installer
43887
+ (RestorerZ)
43888
+
43889
+ Patch 9.1.0371
43890
+ Problem: Vim9: compile_def_function() still too long
43891
+ Solution: Refactor the code into separate functions (Yegappan Lakshmanan).
43892
+
43893
+ Patch 9.1.0372
43894
+ Problem: Calling CLEAR_FIELD() on the same struct twice.
43895
+ Solution: Remove the second CLEAR_FIELD(). Move the assignment of
43896
+ cookie.sourceing_lnum (zeertzjq).
43897
+
43898
+ Patch 9.1.0373
43899
+ Problem: ops.c code uses too many strlen() calls
43900
+ Solution: Refactor code and remove more strlen() calls (John Marriott).
43901
+
43902
+ Patch 9.1.0374
43903
+ Problem: When :edit an existing buffer, line('w$') may return a wrong result.
43904
+ Solution: Reset w_valid in curwin_init() (Jaehwang Jung)
43905
+
43906
+ Patch 9.1.0375
43907
+ Problem: tests: 1-second delay after Test_BufEnter_botline()
43908
+ (after v9.1.0374)
43909
+ Solution: Wipe the created buffers (zeertzjq).
43910
+
43911
+ Patch 9.1.0376
43912
+ Problem: Vim9: Trailing commands after class/enum keywords ignored
43913
+ Solution: Remove EX_TRLBAR keyword from command definition
43914
+ (Yegappan Lakshmanan)
43915
+
43916
+ Patch 9.1.0377
43917
+ Problem: formatting text wrong when 'breakindent' is set (Gary Johnson)
43918
+ Solution: Temporarily disable 'breakindent' option when formatting text, so
43919
+ that the breakindent is not wrongly taken into account for the line
43920
+ length
43921
+
43922
+ Patch 9.1.0378
43923
+ Problem: Vim9: no comments allowed after class vars
43924
+ (Christian Robinson, after 9.1.376)
43925
+ Solution: Allow trailing comments after class vars (Yegappan Lakshmanan).
43926
+
43927
+ Patch 9.1.0379
43928
+ Problem: There are a few typos
43929
+ Solution: Fix them (zeertzjq).
43930
+
43931
+ Patch 9.1.0380
43932
+ Problem: Calculating line height for unnecessary amount of lines with
43933
+ half-page scrolling (zhscn, after 9.1.0280)
43934
+ Solution: Replace "limit_winheight" argument with higher resolution
43935
+ "max" argument to which to limit the calculated line height
43936
+ in plines_m_win() to (Luuk van Baal).
43937
+
43938
+ Patch 9.1.0381
43939
+ Problem: cbuffer and similar quickfix and locationlist commands don't
43940
+ accept a range, even so it is documented they should
43941
+ (ilan-schemoul, after 8.1.1241)
43942
+ Solution: Define ex commands with ADDR_LINES instead of ADDR_OTHER
43943
+
43944
+ Patch 9.1.0382
43945
+ Problem: Kbuild files are not recognized.
43946
+ Solution: Detect Kbuild files as make files (Bruno Belanyi).
43947
+
43948
+ Patch 9.1.0383
43949
+ Problem: filetype: .out files recognized as tex files
43950
+ Solution: Do not set an explicit filetype until it is clear what this
43951
+ should be (shane.xb.qian)
43952
+
43953
+ Patch 9.1.0384
43954
+ Problem: tests: vt420 terminfo entry may not be found (Shane-XB-Qian)
43955
+ Solution: check existence of terminfo vt420 and infocmp command
43956
+
43957
+ Patch 9.1.0385
43958
+ Problem: Vim9: crash with null_class and null_object (Aliaksei Budavei)
43959
+ Solution: Handle null_class and null_object correctly (Yegappan Lakshmanan).
43960
+
43961
+ Patch 9.1.0386
43962
+ Problem: filetype: stylus files not recognized
43963
+ Solution: Detect '*.styl' and '*.stylus' as stylus filetype,
43964
+ include indent, filetype and syntax plugin (Philip H)
43965
+
43966
+ Patch 9.1.0387
43967
+ Problem: Vim9: null value tests not sufficient
43968
+ Solution: Add a more comprehensive test for null values (Yegappan Lakshmanan).
43969
+
43970
+ Patch 9.1.0388
43971
+ Problem: cursor() and getregion() don't handle v:maxcol well.
43972
+ Solution: Add special handling for v:maxcol like setpos() does (zeertzjq).
43973
+
43974
+ Patch 9.1.0389
43975
+ Problem: filetype: templ files are not recognized
43976
+ Solution: Detect '*.templ' files as filetype templ (Tristan Knight).
43977
+
43978
+ Patch 9.1.0390
43979
+ Problem: filetype: inko files are not recognized
43980
+ Solution: Detect '*.inko' as ink filetype (Yorick Peterse).
43981
+
43982
+ Patch 9.1.0391
43983
+ Problem: Vim9: could improve testing (Ernie Rael)
43984
+ Solution: Support defcompile for test_override() to improve testing
43985
+ (Yegappan Lakshmanan)
43986
+
43987
+ Patch 9.1.0392
43988
+ Problem: tests: Vim9 debug tests may be flaky (Shane-XB-Qian)
43989
+ Solution: Give a few more lines so that line-wrapping won't
43990
+ cause a hit-enter prompt
43991
+
43992
+ Patch 9.1.0393
43993
+ Problem: 'viewdir' not respecting $XDG_CONFIG_HOME (Danilo Rezende,
43994
+ after v9.1.327)
43995
+ Solution: adjust 'viewdir' option when enabling XDG config mode
43996
+
43997
+ Patch 9.1.0394
43998
+ Problem: Cannot get a list of positions describing a region
43999
+ (Justin M. Keyes, after v9.1.0120)
44000
+ Solution: Add the getregionpos() function (Shougo Matsushita)
44001
+
44002
+ Patch 9.1.0395
44003
+ Problem: regionpos may leak memory on error, coverity
44004
+ complains about dereferencing Null pointer
44005
+ Solution: free all list pointers (after v9.1.394),
44006
+ return early if buflist_findnr() returns NULL
44007
+
44008
+ Patch 9.1.0396
44009
+ Problem: jj files are not recognized
44010
+ Solution: recognize '*.jjdescription' files as jj filetype (Gregory Anders)
44011
+
44012
+ Patch 9.1.0397
44013
+ Problem: Wrong display with 'smoothscroll' when changing quickfix list.
44014
+ Solution: Reset w_skipcol when replacing quickfix list (zeertzjq).
44015
+
44016
+ Patch 9.1.0398
44017
+ Problem: Vim9: imported vars are not properly type checked
44018
+ Solution: Check the imported variable type properly (Yegappan Lakshmanan).
44019
+
44020
+ Patch 9.1.0399
44021
+ Problem: block_editing errors out when using del (@Jamarley)
44022
+ Solution: Change ins_len from size_t to int and properly check that it doesn't
44023
+ become negative
44024
+
44025
+ Patch 9.1.0400
44026
+ Problem: Vim9: confusing error message for unknown type (Doug Kearns)
44027
+ Solution: For an unknown type, display only the type name in the error
44028
+ message (Yegappan Lakshmanan).
44029
+
44030
+ Patch 9.1.0401
44031
+ Problem: filetype: zsh module files are not recognized
44032
+ Solution: Detect '*.mdh' and '*.epro' as C filetype, '*.mdd' as zsh
44033
+ filetype, determine zsh-modules '*.pro' from from it's content
44034
+ (Wu, Zhenyu)
44035
+
44036
+ Patch 9.1.0402
44037
+ Problem: filetype: mdd files detected as zsh filetype
44038
+ Solution: detect '*.mdd' files as sh filetype, add links to reference
44039
+ documentation (Wu, Zhenyu)
44040
+
44041
+ Patch 9.1.0403
44042
+ Problem: Vim9: not able to import file from start dir (Danielle McLean)
44043
+ Solution: Allow to import from start directory (Yegappan Lakshmanan).
44044
+
44045
+ Patch 9.1.0404
44046
+ Problem: [security] xxd: buffer-overflow with specific flags
44047
+ Solution: Correctly calculate the required buffer space (Lennard Hofmann).
44048
+
44049
+ Patch 9.1.0405
44050
+ Problem: tests: xxd buffer overflow fails on 32-bit
44051
+ Solution: Skip test on 32-bit architecture
44052
+
44053
+ Patch 9.1.0406
44054
+ Problem: Divide by zero with getmousepos() and 'smoothscroll'.
44055
+ Solution: Don't compute skip_lines when width1 is zero (zeertzjq).
44056
+
44057
+ Patch 9.1.0407
44058
+ Problem: No scrolling happens with half-page scrolling with line
44059
+ filling entire window when 'smoothscroll' is disabled.
44060
+ (Mathias Rav, after v9.1.0285)
44061
+ Solution: Adjust amount to move cursor by so that it is moved the same
44062
+ number of lines as was scrolled, even when scrolling different
44063
+ number of lines than requested with 'nosmoothscroll'.
44064
+
44065
+ Patch 9.1.0408
44066
+ Problem: configure fails on Fedora when including perl (chesheer-smile)
44067
+ Solution: Filter out -spec=<path> from $LIBS and $LDFLAGS to avoid
44068
+ linking relocation errors for unrelated autoconf tests.
44069
+
44070
+ Patch 9.1.0409
44071
+ Problem: too many strlen() calls in the regexp engine
44072
+ Solution: refactor code to retrieve strlen differently, make use
44073
+ of bsearch() for getting the character class (John Marriott).
44074
+
44075
+ Patch 9.1.0410
44076
+ Problem: warning about uninitialized variable (Tony Mechelynck, after
44077
+ v9.1.0409)
44078
+ Solution: initialize variable (John Marriott)
44079
+
44080
+ Patch 9.1.0411
44081
+ Problem: too long functions in eval.c
44082
+ Solution: refactor functions (Yegappan Lakshmanan)
44083
+
44084
+ Patch 9.1.0412
44085
+ Problem: typo in regexp_bt.c in DEBUG code, causing compile error (@kfleong7,
44086
+ after v9.1.0409)
44087
+ Solution: Replace bulen by buflen
44088
+
44089
+ Patch 9.1.0413
44090
+ Problem: smoothscroll may cause infinite loop, with very narrow windows
44091
+ (Jaehwang Jung, after v9.1.0280)
44092
+ Solution: Check for width1 being negative, verify that win_linetabsize does
44093
+ not overflow
44094
+
44095
+ Patch 9.1.0414
44096
+ Problem: Unable to leave long line with 'smoothscroll' and 'scrolloff'.
44097
+ Corrupted screen near the end of a long line with 'scrolloff'.
44098
+ (Ernie Rael, after 9.1.0280)
44099
+ Solution: Only correct cursor in case scroll_cursor_bot() was not itself
44100
+ called to make the cursor visible. Avoid adjusting for
44101
+ 'scrolloff' beyond the text line height (Luuk van Baal)
44102
+
44103
+ Patch 9.1.0415
44104
+ Problem: Some functions are not tested
44105
+ Solution: Add a few more tests, fix a few minor problems (Yegappan Lakshmanan)
44106
+
44107
+ Patch 9.1.0416
44108
+ Problem: some screen dump tests can be improved (after 9.1.0414)
44109
+ Solution: Make sure screen state changes properly and is captured in the
44110
+ screen dumps (Luuk van Baal)
44111
+
44112
+ Patch 9.1.0417
44113
+ Problem: if_py: find_module has been removed in Python 3.12.0a7 (@Ghost-LZW)
44114
+ Solution: Do not include find_module for Python >= 3.12.0a7
44115
+
44116
+ Patch 9.1.0418
44117
+ Problem: Cannot move to previous/next rare word (Colin Kennedy)
44118
+ Solution: Add the ]r and [r motions (Christ van Willegen)
44119
+
44120
+ Patch 9.1.0419
44121
+ Problem: eval.c not sufficiently tested
44122
+ Solution: Add a few more additional tests for eval.c (Yegappan Lakshmanan).
44123
+
44124
+ Patch 9.1.0420
44125
+ Problem: :browse oldfiles prompts even with single entry
44126
+ Solution: Do not prompt, but edit the file directly, also when using :filter
44127
+ /pat/ browse oldfiles
44128
+
44129
+ Patch 9.1.0421
44130
+ Problem: filetype: hyprlang files are not recognized
44131
+ Solution: Recognize 'hypr{land,paper,idle,lock}.conf' files
44132
+ as 'hyprlang' filetype, add hyprlang ftplugin (Riley Bruins)
44133
+
44134
+ Patch 9.1.0422
44135
+ Problem: function echo_string_core() is too long
44136
+ Solution: Refactor into several smaller functions (Yegappan Lakshmanan).
44137
+
44138
+ Patch 9.1.0423
44139
+ Problem: getregionpos() wrong with blockwise mode and multibyte.
44140
+ Solution: Use textcol and textlen instead of start_vcol and end_vcol.
44141
+ Handle coladd properly (zeertzjq).
44142
+
44143
+ Patch 9.1.0424
44144
+ Problem: filetype: slint files are not recognized
44145
+ Solution: Detect '*.slint' files as slint filetype, include basic sling
44146
+ filetype plugin (Riley Bruins)
44147
+
44148
+ Patch 9.1.0425
44149
+ Problem: filetype: purescript files are not recognized
44150
+ Solution: Recognize '*.purs' files as purescript filetype, include basic
44151
+ purescript filetype plugin (Riley Bruins)
44152
+
44153
+ Patch 9.1.0426
44154
+ Problem: too many strlen() calls in search.c
44155
+ Solution: Refactor code and remove more strlen() calls,
44156
+ use explicit variable to remember strlen (John Marriott)
44157
+
44158
+ Patch 9.1.0427
44159
+ Problem: tests: some issues with termdebug mapping test
44160
+ Solution: Use assert_{true,false} if suitable, change
44161
+ order of expected and actual arguments in assert() calls.
44162
+ (Ken Takata)
44163
+
44164
+ Patch 9.1.0428
44165
+ Problem: Tag guessing leaves wrong search history with very short names
44166
+ (after 9.1.0426).
44167
+ Solution: Use the correct variable for pattern length (zeertzjq).
44168
+
44169
+ Patch 9.1.0429
44170
+ Problem: Coverity complains about eval.c refactor (after v9.1.0422)
44171
+ Solution: Check that buf is not used un-initialized, add explicit conditions
44172
+ for save and restore of copyID
44173
+
44174
+ Patch 9.1.0430
44175
+ Problem: getregionpos() doesn't handle one char selection.
44176
+ Solution: Handle startspaces differently when is_oneChar is set.
44177
+ Also add a test for an exclusive charwise selection with
44178
+ multibyte chars (zeertzjq)
44179
+
44180
+ Patch 9.1.0431
44181
+ Problem: eval.c is too long
44182
+ Solution: Move garbage collection code to new gc.c file (Yegappan Lakshmanan).
44183
+
44184
+ Patch 9.1.0432
44185
+ Problem: Ancient XPM preprocessor hack may cause build errors.
44186
+ Solution: Simplify XPM includes and get rid of complicated #ifdef magic
44187
+ (Drew Vogel).
44188
+
44189
+ Patch 9.1.0433
44190
+ Problem: Wrong yanking with exclusive selection and virtualedit=all,
44191
+ and integer overflow when using getregion() on it.
44192
+ Solution: Set coladd when decreasing column and 'virtualedit' is active.
44193
+ Add more tests for getregion() with 'virtualedit' (zeertzjq).
44194
+
44195
+ Patch 9.1.0434
44196
+ Problem: make errors trying to access autoload/zig
44197
+ Solution: Remove autoload/zig from Makefile, adjust Filelist (Derek Schrock).
44198
+
44199
+ Patch 9.1.0435
44200
+ Problem: filetype: cygport files are not recognized
44201
+ Solution: Recognize '*.cygport' files as sh filetype (Ken Takata).
44202
+
44203
+ Patch 9.1.0436
44204
+ Problem: Crash when using '?' as separator for :s and pattern contains
44205
+ escaped '?'s (after 9.1.0409).
44206
+ Solution: Always compute startplen. (zeertzjq).
44207
+
44208
+ Patch 9.1.0437
44209
+ Problem: Motif requires non-const char pointer for XPM data shared with
44210
+ GTK (Tony Mechelynck, after v9.1.0432)
44211
+ Solution: Cast non-const to const char pointer for GTK (Drew Vogel).
44212
+
44213
+ Patch 9.1.0438
44214
+ Problem: Wrong Ex command executed when :g uses '?' as delimiter and
44215
+ pattern contains escaped '?'.
44216
+ Solution: Don't use "*newp" when it's not allocated (zeertzjq).
44217
+
44218
+ Patch 9.1.0439
44219
+ Problem: Cannot filter the history
44220
+ Solution: Implement :filter :history
44221
+
44222
+ Patch 9.1.0440
44223
+ Problem: function get_lval() is too long
44224
+ Solution: factor out the get_lval_subscript() function (Yegappan Lakshmanan).
44225
+
44226
+ Patch 9.1.0441
44227
+ Problem: getregionpos() can't properly indicate positions beyond eol.
44228
+ Solution: Add an "eol" flag that enables handling positions beyond end
44229
+ of line like getpos() does (zeertzjq).
44230
+
44231
+ Patch 9.1.0442
44232
+ Problem: hare runtime files outdated
44233
+ Solution: runtime(hare): update hare.vim to match upstream (Amelia Clarke).
44234
+
44235
+ Patch 9.1.0443
44236
+ Problem: Can't use a blockwise selection with a width for getregion().
44237
+ Solution: Add support for blockwise selection with width like the return
44238
+ value of getregtype() or the "regtype" value of TextYankPost
44239
+ (zeertzjq).
44240
+
44241
+ Patch 9.1.0444
44242
+ Problem: Not enough tests for getregion() with multibyte chars.
44243
+ Solution: Add a few more tests (zeertzjq).
44244
+
44245
+ Patch 9.1.0445
44246
+ Problem: Coverity warning after 9.1.0440
44247
+ Solution: Fix Coverity warning, add a test and reduce the calls to clear_tv()
44248
+ (Yegappan Lakshmanan).
44249
+
44250
+ Patch 9.1.0446
44251
+ Problem: getregionpos() behaves inconsistently for a partly-selected
44252
+ multibyte char.
44253
+ Solution: Always use column of the first byte for a partly-selected
44254
+ multibyte char (zeertzjq).
44255
+
44256
+ Patch 9.1.0447
44257
+ Problem: completion may be wrong when deleting all chars
44258
+ Solution: Reset compl_shown_match
44259
+
44260
+ Patch 9.1.0448
44261
+ Problem: compiler warning in eval.c (after v9.1.0429)
44262
+ Solution: Refactor code (Yegappan Lakshmanan)
44263
+
44264
+ Patch 9.1.0449
44265
+ Problem: MS-Windows: Compiler warnings
44266
+ Solution: Resolve size_t to int warnings
44267
+
44268
+ Patch 9.1.0450
44269
+ Problem: eval.c code too complex
44270
+ Solution: Refactor eval6() and eval9() functions into several smaller
44271
+ functions (Yegappan Lakshmanan)
44272
+
44273
+ Patch 9.1.0451
44274
+ Problem: No test for escaping '<' with shellescape()
44275
+ Solution: Add a test. Use memcpy() in code to make it easier to
44276
+ understand. Fix a typo (zeertzjq).
44277
+
44278
+ Patch 9.1.0452
44279
+ Problem: Configure checks for libelf unnecessarily
44280
+ Solution: Remove configure check (youcai)
44281
+
44282
+ Patch 9.1.0453
44283
+ Problem: filetype: rasi files are not recognized
44284
+ Solution: Regonize '*.rasi' files as rasi filetype, include a filetype and
44285
+ syntax plugin (Pierrick Guillaume)
44286
+
44287
+ Patch 9.1.0454
44288
+ Problem: minor issues in test_filetype with rasi test (after 9.1.0453)
44289
+ Solution: Re-sort test_filetype, fix wrong syntax.txt help tags
44290
+
44291
+ Patch 9.1.0455
44292
+ Problem: MS-Windows: compiler warning for size_t to int conversion
44293
+ Solution: Add a few type casts to resolve warning on Windows (Mike Williams).
44294
+
44295
+ Patch 9.1.0456
44296
+ Problem: Left shift is incorrect with vartabstop and shiftwidth=0
44297
+ Solution: Make tabstop_at() function aware of shift direction
44298
+ (Gary Johnson)
44299
+
44300
+ Patch 9.1.0457
44301
+ Problem: tests: test_gui fails on Wayland (after: 9.1.0064, Gary Johnson)
44302
+ Solution: Drop the "empty($WAYLAND_DISPLAY)" condition in the test
44303
+
44304
+ Patch 9.1.0458
44305
+ Problem: Coverity complains about division by zero
44306
+ Solution: Check explicitly for sw_val being zero
44307
+ Shouldn't happen, since tabstop value should always be larger than
44308
+ zero. So just add this as a safety measure.
44309
+
44310
+ Patch 9.1.0459
44311
+ Problem: Vim9: import autoload does not work with symlink (Olivier Dormond)
44312
+ Solution: Set sn_autoload_prefix in check_script_symlink (nwounkn)
44313
+
44314
+ Patch 9.1.0460
44315
+ Problem: filetype: lintstagedrc files are not recognized
44316
+ Solution: Recognize '.lintstagedrc' files as json filetype (İlyas Akın).
44317
+
44318
+ Patch 9.1.0461
44319
+ Problem: too many strlen() calls in drawline.c
44320
+ Solution: Refactor code to avoid strlen() (John Marriott).
44321
+
44322
+ Patch 9.1.0462
44323
+ Problem: eval5() and eval7 are too complex
44324
+ Solution: Refactor eval5() and eval7() in eval.c (Yegappan Lakshmanan).
44325
+
44326
+ Patch 9.1.0463
44327
+ Problem: no fuzzy-matching support for insert-completion
44328
+ Solution: Enable insert-mode completion with fuzzy-matching
44329
+ using :set completopt+=fuzzy (glepnir).
44330
+
44331
+ Patch 9.1.0464
44332
+ Problem: No whitespace padding in commentstring option in ftplugins
44333
+ Solution: Change default to include whitespace padding, update
44334
+ existing filetype plugins with the new default value (Riley Bruins)
44335
+
44336
+ Patch 9.1.0465
44337
+ Problem: missing filecopy() function
44338
+ Solution: Implement filecopy() Vim script function (Shougo Matsushita).
44339
+
44340
+ Patch 9.1.0466
44341
+ Problem: Missing comments for fuzzy completion (after 9.1.0463)
44342
+ Solution: Add more comments, adjust indentation slightly (glepnir).
44343
+
44344
+ Patch 9.1.0467
44345
+ Problem: typos in some comments (after v9.1.0466)
44346
+ Solution: Fix comments (zeertzjq).
44347
+
44348
+ Patch 9.1.0468
44349
+ Problem: GvimExt does not consult HKEY_CURRENT_USER
44350
+ Solution: Make GvimExt first consult HKEY_CURRENT_USER and then fall
44351
+ back to HKEY_LOCAL_MACHINE to find gvim (David Wagner)
44352
+
44353
+ Patch 9.1.0469
44354
+ Problem: Cannot have buffer-local value for 'completeopt' (Nick Jensen).
44355
+ Solution: Make 'completeopt' global-local (zeertzjq).
44356
+
44357
+ Patch 9.1.0470
44358
+ Problem: tests: Test_ColonEight_MultiByte() fails on MS-Windows
44359
+ Solution: Mark test as flaky
44360
+
44361
+ Patch 9.1.0471
44362
+ Problem: Crash when using autocmd_get() after removing event inside
44363
+ autocmd (Sergey Vlasov)
44364
+ Solution: Check that the pattern is NULL (zeertzjq).
44365
+
44366
+ Patch 9.1.0472
44367
+ Problem: Inconsistencies between functions for option flags.
44368
+ Solution: Consistently use "unsigned int" as return type and rename
44369
+ get_bkc_value() to get_bkc_flags() (zeertzjq).
44370
+
44371
+ Patch 9.1.0473
44372
+ Problem: term_start() does not clear vertical modifier
44373
+ Solution: Clear the flag after splitting the window (Yegappan Lakshmanan).
44374
+
44375
+ Patch 9.1.0474
44376
+ Problem: CI: Test_ColonEight() fails on github runners (Ken Takata)
44377
+ Solution: Run the test for files on the C: drive, where dos shortnames
44378
+ are still enabled, refactor the tests to use a single setup
44379
+ function for the preparation.
44380
+
44381
+ Patch 9.1.0475
44382
+ Problem: cmod_split modifier is always reset in term_start()
44383
+ Solution: Only clear the WSP_VERT flag, if it is not already in
44384
+ cmdmod.cmod_split (Yegappan Lakshmanan).
44385
+
44386
+ Patch 9.1.0476
44387
+ Problem: Cannot see matched text in popup menu
44388
+ Solution: Introduce 2 new highlighting groups: PmenuMatch and
44389
+ PmenuMatchSel (glepnir).
44390
+
44391
+ Patch 9.1.0477
44392
+ Problem: block_editing errors out when using <enter>
44393
+ (Ali Rizvi-Santiago, after v9.1.0274)
44394
+ Solution: Change ins_len from size_t to int so that the test
44395
+ if ins_len is negative actually works properly.
44396
+
44397
+ Patch 9.1.0478
44398
+ Problem: Potential deref of NULL pointer in fuzzy_match_str_with_pos()
44399
+ on cleanup (after v9.1.0476)
44400
+ Solution: Only free the pointer if it is non-NULL (glepnir).
44401
+
44402
+ Patch 9.1.0479
44403
+ Problem: fuzzy_match_str_with_pos() does unnecessary list operations.
44404
+ Solution: Use fuzzy_match() directly (zeertzjq).
44405
+
44406
+ Patch 9.1.0480
44407
+ Problem: fuzzy string matching executed when not needed
44408
+ Solution: When no leader is available, can skip fuzzy logic, so return
44409
+ early (glepnir).
44410
+
44411
+ Patch 9.1.0481
44412
+ Problem: Vim9: term_getjob() throws an exception on error
44413
+ Solution: Return null_job instead, when there is no job (Ernie Rael).
44414
+
44415
+ Patch 9.1.0482
44416
+ Problem: termdebug plugin needs more love
44417
+ Solution: start with some more Vim9 refactoring to improve maintenance and
44418
+ readability (Ubaldo Tiberi).
44419
+
44420
+ Patch 9.1.0483
44421
+ Problem: glob() not sufficiently tested
44422
+ Solution: Add more tests for directory containing [] chars.
44423
+
44424
+ Patch 9.1.0484
44425
+ Problem: Sorting of completeopt+=fuzzy is not stable.
44426
+ Solution: Compare original indexes when scores are the same (zeertzjq).
44427
+
44428
+ Patch 9.1.0485
44429
+ Problem: Matched text shouldn't be highlighted in "kind" and "menu".
44430
+ Solution: Pass hlf_T instead of the attribute. Fix indent (zeertzjq).
44431
+
44432
+ Patch 9.1.0486
44433
+ Problem: filetype: Snakemake files are not recognized
44434
+ Solution: Detect '*.smk' and Snakefile files as snakemake filetype
44435
+ (Riley Bruins)
44436
+
44437
+ Patch 9.1.0487
44438
+ Problem: completed item not update on fuzzy completion
44439
+ Solution: Reset compl_shown_match when at original match position (glepnir).
44440
+
44441
+ Patch 9.1.0488
44442
+ Problem: Wrong padding for pum "kind" with 'rightleft'.
44443
+ Solution: Fix off-by-one error (zeertzjq).
44444
+
44445
+ Patch 9.1.0489
44446
+ Problem: default completion may break with fuzzy
44447
+ Solution: Check that completion_match_array is not null (glepnir).
44448
+
44449
+ Patch 9.1.0490
44450
+ Problem: minor style problems with Patch 9.1.0487
44451
+ Solution: use shown_compl instead of after_first_compl variable (glepnir).
44452
+
44453
+ Patch 9.1.0491
44454
+ Problem: Cmdline pum doesn't work properly with 'rightleft'.
44455
+ Solution: Don't use curwin->w_p_rl in cmdline mode in pum_redraw(). Use
44456
+ a static variable since pum_may_redraw() may be called in any
44457
+ mode. Also correct position of other popups with 'rightleft'
44458
+ (zeertzjq).
44459
+
44460
+ Patch 9.1.0492
44461
+ Problem: Vim-script files may not be recognised
44462
+ Solution: Add shebang line detection (Doug Kearns)
44463
+
44464
+ Patch 9.1.0493
44465
+ Problem: Test for Patch 9.1.0489 doesn't fail without the fix.
44466
+ Solution: Use "!" flag of feedkeys() so that ex_normal_busy is not set
44467
+ and ins_compl_check_keys() is not skipped (zeertzjq).
44468
+
44469
+ Patch 9.1.0494
44470
+ Problem: Wrong matched text highlighted in pum with 'rightleft'.
44471
+ Solution: Match using the original text instead of the reversed text
44472
+ (zeertzjq).
44473
+
44474
+ Patch 9.1.0495
44475
+ Problem: Matched text isn't highlighted in cmdline pum.
44476
+ Solution: Use cmdline completion pattern in cmdline mode (zeertzjq).
44477
+
44478
+ Patch 9.1.0496
44479
+ Problem: matched text is highlighted case-sensitively
44480
+ Solution: Use MB_STRNICMP, update highlighting when the base changes (glepnir)
44481
+
44482
+ Patch 9.1.0497
44483
+ Problem: termdebug can be further improved
44484
+ Solution: Refactor save/restore, update docs, add a new save/restore test
44485
+ (Ubaldo Tiberi).
44486
+
44487
+ Patch 9.1.0498
44488
+ Problem: getcmdcompltype() interferes with cmdline completion.
44489
+ Solution: Don't set expand context when it's already set (zeertzjq).
44490
+
44491
+ Patch 9.1.0499
44492
+ Problem: MS-Windows: doesn't handle symlinks properly (Timothy Madden)
44493
+ Solution: Implement lstat() on MS-Windows (LemonBoy).
44494
+
44495
+ Patch 9.1.0500
44496
+ Problem: cannot switch buffer in a popup (Yggdroot)
44497
+ Solution: Add popup_setbuf() function.
44498
+
44499
+ Patch 9.1.0501
44500
+ Problem: too complicated mapping restore in termdebug
44501
+ Solution: Simplify unmapping logic, add a few more tests (Ubaldo Tiberi).
44502
+
44503
+ Patch 9.1.0502
44504
+ Problem: MS-Windows: too much legacy code
44505
+ Solution: Clean up old code (Ken Takata).
44506
+
44507
+ Patch 9.1.0503
44508
+ Problem: cannot use fuzzy keyword completion (Maxim Kim)
44509
+ Solution: Add the "fuzzycollect" value for the 'completeopt'
44510
+ setting, to gather matches using fuzzy logic (glepnir).
44511
+
44512
+ Patch 9.1.0504
44513
+ Problem: inner-tag textobject confused about ">" in attributes
44514
+ Solution: Skip over quoted '>' when determining the start position
44515
+
44516
+ Patch 9.1.0505
44517
+ Problem: filetype: Faust files are not recognized
44518
+ Solution: Detect '*.lib' files as Faust filetype, add detection for
44519
+ '*.dsp' files (Faust or Make), remove '*.lib' from Cobol
44520
+ filetype (PowerUser64)
44521
+
44522
+ Patch 9.1.0506
44523
+ Problem: filetype: .envrc & .prettierignore not recognized
44524
+ Solution: Detect '.envrc' as shell and '.prettierignore' as gitignore
44525
+ filetype (Tyler Miller)
44526
+
44527
+ Patch 9.1.0507
44528
+ Problem: hard to detect cursor movement in the command line
44529
+ Solution: Add the CursorMovedC autocommand (Shougo Matsushita).
44530
+
44531
+ Patch 9.1.0508
44532
+ Problem: termdebug plugin can be further improved
44533
+ Solution: Add sanity-check, timeout config, change vars to bool
44534
+ update docs, add more tests (Ubaldo Tiberi).
44535
+
44536
+ Patch 9.1.0509
44537
+ Problem: not possible to translate Vim script messages (RestorerZ)
44538
+ Solution: Implement bindtextdomain() and gettext() to support Vim script
44539
+ message translations (Christ van Willegen).
44540
+
44541
+ Patch 9.1.0510
44542
+ Problem: CI: test_gettext fails on MacOS14 + MSVC Win (after v9.1.0509)
44543
+ Solution: Skip the test for now.
44544
+
44545
+ Patch 9.1.0511
44546
+ Problem: CursorMovedC triggered wrongly with setcmdpos() (after v9.1.0507)
44547
+ Solution: Remove the premature triggering. Also don't trigger when
44548
+ cursor didn't move (zeertzjq).
44549
+
44550
+ Patch 9.1.0512
44551
+ Problem: Mode message for spell completion doesn't match allowed keys
44552
+ (Kyle Kovacs)
44553
+ Solution: Show "^S" instead of "s" (zeertzjq).
44554
+
44555
+ Patch 9.1.0513
44556
+ Problem: Vim9: segfault with object comparisons
44557
+ Solution: Increment recusive_cnt before calling typval_compare_object()
44558
+ (Ernie Rael)
44559
+
44560
+ Patch 9.1.0514
44561
+ Problem: Vim9: issue with comparing objects recursively (Yinzuo Jiang)
44562
+ Solution: only set recursive == TRUE, when called from tv_equal(), not
44563
+ from typeval_compare_object(), refactor code into object_equal()
44564
+ function (LemonBoy).
44565
+
44566
+ Patch 9.1.0515
44567
+ Problem: Vim9: segfault in object_equal()
44568
+ Solution: Test for object pointer being NULL, before dereferencing them
44569
+ (Ernie Rael).
44570
+
44571
+ Patch 9.1.0516
44572
+ Problem: need more tests for nested dicts and list comparision
44573
+ Solution: Add tests for comparing deeply nested List/Dict values
44574
+ (Yegappan Lakshmanan).
44575
+
44576
+ Patch 9.1.0517
44577
+ Problem: MS-Windows: too long lines in Make_mvc.mak
44578
+ Solution: Wrap long lines in Make_mvc.mak (Ken Takata).
44579
+
44580
+ Patch 9.1.0518
44581
+ Problem: initialize the random buffer can be improved
44582
+ Solution: Refactor init_srand() function, move machine-specific parts to
44583
+ os_mswin and os_unix, implement a fallback for Windows 10 and
44584
+ later (LemonBoy).
44585
+
44586
+ Patch 9.1.0519
44587
+ Problem: MS-Windows: libvterm compilation can be optimized
44588
+ Solution: Enable batch inference for libvterm (Ken Takata).
44589
+
44590
+ Patch 9.1.0520
44591
+ Problem: Vim9: incorrect type checking for modifying lists
44592
+ Solution: Correctly assign the member declared types and generate
44593
+ typechecks, add disassembly test (LemonBoy).
44594
+
44595
+ Patch 9.1.0521
44596
+ Problem: if_py: _PyObject_CallFunction_SizeT is dropped in Python 3.13
44597
+ Solution: define PyObject_CallFunction for Python >= 3.13 (Yaakov Selkowitz).
44598
+
44599
+ Patch 9.1.0522
44600
+ Problem: Vim9: string(object) hangs for recursive references
44601
+ Solution: Handle recursive objects specifically, add a hang test and a
44602
+ compare test (Ernie Rael)
44603
+
44604
+ Patch 9.1.0523
44605
+ Problem: Vim9: cannot downcast an object (Ernie Rael)
44606
+ Solution: Fix class downcasting issue (LemonBoy).
44607
+
44608
+ Patch 9.1.0524
44609
+ Problem: the recursive parameter in the *_equal functions can be removed
44610
+ Solution: Remove the recursive parameter in dict_equal(), list_equal()
44611
+ object_equal and tv_equal(). Use a comparison of the static
44612
+ var recursive_cnt == 0 to determine whether or not tv_equal()
44613
+ has been called recursively (Yinzuo Jiang).
44614
+
44615
+ Patch 9.1.0525
44616
+ Problem: Right release selects immediately when pum is truncated.
44617
+ Solution: Use pum_height instead of pum_size when checking click row.
44618
+ Don't place it above mouse row when there is more space below.
44619
+ (zeertzjq)
44620
+
44621
+ Patch 9.1.0526
44622
+ Problem: Cursor is moved to bottom of window trying to pagescroll when
44623
+ already at the start of the buffer (Asheq Imran, after v9.1.0357)
44624
+ Solution: Don't move cursor when buffer content did not move (Luuk van Baal).
44625
+
44626
+ Patch 9.1.0527
44627
+ Problem: inconsistent parameter in Makefiles for Vim executable
44628
+ Solution: consistently use $VIMPROG across all Makefiles (RestorerZ).
44629
+
44630
+ Patch 9.1.0528
44631
+ Problem: spell completion message still wrong in translations
44632
+ (after 9.1.0512)
44633
+ Solution: Update translation files with the new message (Kyle Kovacs).
44634
+
44635
+ Patch 9.1.0529
44636
+ Problem: silent! causes following try/catch to not work (Malcolm Rowe)
44637
+ Solution: consider emsg_silent in handle_did_throw() and do not abort
44638
+ evaluation flow for :silent! (LemonBoy).
44639
+
44640
+ Patch 9.1.0530
44641
+ Problem: xxd: MSVC warning about non-ASCII character
44642
+ Solution: Specify source-charset:utf-8 in Makefile (Ken Takata).
44643
+
44644
+ Patch 9.1.0531
44645
+ Problem: resource leak in mch_get_random() (after v9.1.0518)
44646
+ Solution: close file descriptor after reading successfully from /dev/urandom
44647
+
44648
+ Patch 9.1.0532
44649
+ Problem: filetype: Cedar files not recognized
44650
+ Solution: Detect '*.cedar' files as cedar filetype (Riley Bruins).
44651
+
44652
+ Patch 9.1.0533
44653
+ Problem: Vim9: need more tests for nested objects equality
44654
+ Solution: Add more tests (Ernie Rael).
44655
+
44656
+ Patch 9.1.0534
44657
+ Problem: completion wrong with fuzzy when cycling back to original
44658
+ (Quan Nguyen)
44659
+ Solution: Reset show_match_ok when cp_score is zero (glepnir).
44660
+
44661
+ Patch 9.1.0535
44662
+ Problem: newline escape wrong in ex mode (Konrad Schwarz)
44663
+ Solution: Partly revert Patch 7.3.014, remove backslash in front of a
44664
+ newline when not in prompt mode in ex line mode (Mohamed Akram).
44665
+
44666
+ Patch 9.1.0536
44667
+ Problem: filetype: zone files are not recognized (rpdprd)
44668
+ Solution: Detect '*.zone' files as bindzone filetype.
44669
+
44670
+ Patch 9.1.0537
44671
+ Problem: signed number detection for CTRL-X/A can be improved (Chris Patuzzo)
44672
+ Solution: Add the new "blank" value for the 'nrformat' setting. This will make
44673
+ Vim assume a signed number only if there is a blank in front of the
44674
+ sign (distobs).
44675
+
44676
+ Patch 9.1.0538
44677
+ Problem: not possible to assign priority when defining a sign
44678
+ (Mathias Fußenegger)
44679
+ Solution: Add the priority argument for the :sign-define ex command and
44680
+ the sign_define() function (LemonBoy).
44681
+
44682
+ Patch 9.1.0539
44683
+ Problem: Not enough tests for what v9.1.0535 fixed
44684
+ Solution: Add another test for ex-mode.
44685
+
44686
+ Patch 9.1.0540
44687
+ Problem: Unused assignment in sign_define_cmd()
44688
+ Solution: Remove the assignment. Also document the "priority" flag of
44689
+ sign_define() (zeertzjq).
44690
+
44691
+ Patch 9.1.0541
44692
+ Problem: failing test with Vim configured without channel
44693
+ Solution: In the test Test_null_values() verify that the 'channel' and
44694
+ 'job' feature is present in Vim. (Dominique Pellé).
44695
+
44696
+ Patch 9.1.0542
44697
+ Problem: Vim9: confusing string() output for object functions
44698
+ Solution: improve the output for object functions (Ernie Rael).
44699
+
44700
+ Patch 9.1.0543
44701
+ Problem: Behavior of CursorMovedC is strange.
44702
+ Solution: Also trigger when the cmdline has changed (zeertzjq).
44703
+
44704
+ Patch 9.1.0544
44705
+ Problem: filetype: ldapconf files are not recognized
44706
+ Solution: Detect '.ldaprc', 'ldap.conf' and 'ldaprc' files as ldapconf
44707
+ filetype, include a simple ldapconf ftplugin file (Riley Bruins).
44708
+
44709
+ Patch 9.1.0545
44710
+ Problem: MSVC conversion warning (LemonBoy, after 9.1.0522)
44711
+ Solution: Use size_t instead of int, fix style of casts (Ernie Rael).
44712
+
44713
+ Patch 9.1.0546
44714
+ Problem: vim-tiny fails on CTRL-X/CTRL-A (Rob Foehl, after 9.1.0172)
44715
+ Solution: Move #ifdefs, so that after changing the line in del_bytes,
44716
+ the cached textlen value is invalidated.
44717
+
44718
+ Patch 9.1.0547
44719
+ Problem: No way to get the arity of a Vim function (Austin Ziegler)
44720
+ Solution: Enhance get() Vim script function to return the function
44721
+ argument info using get(func, "arity") (LemonBoy).
44722
+
44723
+ Patch 9.1.0548
44724
+ Problem: it's not possible to get a unique id for some vars
44725
+ Solution: Add the id() Vim script function, which returns a unique
44726
+ identifier for object, dict, list, job, blob or channel
44727
+ variables (Ernie Rael).
44728
+
44729
+ Patch 9.1.0549
44730
+ Problem: fuzzycollect regex based completion not working as expected
44731
+ Solution: Revert Patch v9.1.0503 (glepnir).
44732
+
44733
+ Patch 9.1.0550
44734
+ Problem: filetype: antlr4 files are not recognized
44735
+ Solution: Detect '*.g4' as antlr4 filetype, include a simple antlr4
44736
+ syntax and filetype plugin (Yinzuo Jiang).
44737
+
44738
+ Patch 9.1.0551
44739
+ Problem: filetype: htmlangular files are not properly detected
44740
+ Solution: Use the new htmlangular filetype for angular files, because
44741
+ since angular v17, those are no longer valid HTML files
44742
+ (Dennis van den Berg).
44743
+
44744
+ Patch 9.1.0552
44745
+ Problem: No test for antlr4 filetype (after 9.1.0550)
44746
+ Solution: Add a simple filename test.
44747
+
44748
+ Patch 9.1.0553
44749
+ Problem: filetype: *.mcmeta files are not recognized
44750
+ Solution: Detect '*.mcmeta' files as json filetype (Tomodachi94).
44751
+
44752
+ Patch 9.1.0554
44753
+ Problem: :bw leaves jumplist and tagstack data around (Paul "Joey" Clark)
44754
+ Solution: Wipe jumplist and tagstack references to the wiped buffer
44755
+ (LemonBoy).
44756
+
44757
+ Patch 9.1.0555
44758
+ Problem: filetype: angular ft detection is still problematic (after 9.1.0551)
44759
+ Solution: Detect htmlangular filetype only by inspecting the content,
44760
+ do not try to determine it from a generic name like
44761
+ '*.component.html'.
44762
+
44763
+ Patch 9.1.0556
44764
+ Problem: :bwipe doesn't remove file from jumplist and tagstack of other
44765
+ tabpages. Time complexity of mark_forget_file() is O(n^2) when
44766
+ removing all entries (after v9.1.0554)
44767
+ Solution: Use FOR_ALL_TAB_WINDOWS(). Start the loops over the arrays
44768
+ from the end instead of the start (zeertzjq).
44769
+
44770
+ Patch 9.1.0557
44771
+ Problem: moving in the buffer list doesn't work as documented
44772
+ (SenileFelineS)
44773
+ Solution: Skip non-help buffers, when run from normal buffers, else
44774
+ only move from help buffers to the next help buffer (LemonBoy).
44775
+
44776
+ Patch 9.1.0558
44777
+ Problem: filetype: prolog detection can be improved
44778
+ Solution: Improved the Prolog file detection regex and added tests for
44779
+ all cases (igna_martinoli).
44780
+
44781
+ Patch 9.1.0559
44782
+ Problem: translation of vim scripts can be improved (after v9.1.0509)
44783
+ Solution: improve documentation, add tests, include missing
44784
+ libraries for the Windows CI (RestorerZ).
44785
+
44786
+ Patch 9.1.0560
44787
+ Problem: bindtextdomain() does not indicate an error (after v9.1.509)
44788
+ Solution: return false on failure (OOM) (Chris van Willegen).
44789
+
44790
+ Patch 9.1.0561
44791
+ Problem: netbeans: variable used un-initialized (Coverity) (after v9.1.0557)
44792
+ Solution: Properly initialize exarg_T struct for use with netbeans
44793
+ The actual exarg.cmdidx doesn't really matter, but let's use
44794
+ something, that is not affected by the recent changes (going through
44795
+ the buffer list) and use CMD_USER.
44796
+
44797
+ Patch 9.1.0562
44798
+ Problem: tests: inconsistency in test_findfile.vim, it saves and restores
44799
+ 'shellslash', but doesn't actually set it
44800
+ Solution: Set shellslash explicitly (zeertzjq).
44801
+
44802
+ Patch 9.1.0563
44803
+ Problem: Cannot process any Key event.
44804
+ Solution: Add the KeyInputPre autocmd (Shougo Matsushita).
44805
+
44806
+ Patch 9.1.0564
44807
+ Problem: id() can be made faster
44808
+ Solution: don't use printf(), use clever shift of pointer (Ernie Rael).
44809
+
44810
+ Patch 9.1.0565
44811
+ Problem: Stop directory doesn't work properly in 'tags' (Jesse Pavel).
44812
+ Solution: Also move the stop directory forward by one byte (zeertzjq).
44813
+
44814
+ Patch 9.1.0566
44815
+ Problem: Stop directory in findfile() doesn't work properly without a
44816
+ trailing slash.
44817
+ Solution: Always use fnamencmp(), not fnamecmp().
44818
+
44819
+ Patch 9.1.0567
44820
+ Problem: Cannot use relative paths as findfile() stop directories.
44821
+ Solution: Change a relative path to an absolute path (zeertzjq).
44822
+
44823
+ Patch 9.1.0568
44824
+ Problem: Cannot expand paths from 'cdpath' setting (Daniel Hahler)
44825
+ Solution: Implement 'cdpath' completion, add the new 'dir_in_path'
44826
+ completion type (LemonBoy).
44827
+
44828
+ Patch 9.1.0569
44829
+ Problem: fnamemodify() treats ".." and "../" differently.
44830
+ Solution: Expand ".." properly like how "/.." is treated in 8.2.3388
44831
+ (zeertzjq).
44832
+
44833
+ Patch 9.1.0570
44834
+ Problem: tests: test_gettext_make can be improved (after v9.1.0559)
44835
+ Solution: Improve the test (Ken Takata).
44836
+
44837
+ Patch 9.1.0571
44838
+ Problem: tests: Test_gui_lowlevel_keyevent is flaky
44839
+ Solution: Mark as flaky (Ken Takata).
44840
+
44841
+ Patch 9.1.0572
44842
+ Problem: cannot specify tab page closing behaviour (Gianluca Pacchiella).
44843
+ Solution: Add the 'tabclose' option (LemonBoy).
44844
+
44845
+ Patch 9.1.0573
44846
+ Problem: ex: no implicit print for single addresses
44847
+ Solution: Explicitly print even during single addresses, as requested by POSIX
44848
+ (Mohamed Akram)
44849
+
44850
+ Patch 9.1.0574
44851
+ Problem: ex: wrong handling of commands after bar
44852
+ Solution: for :append, :insert and :change use the text after the bar as input
44853
+ for those commands. This is what POSIX requests (Mohamed Akram).
44854
+
44855
+ Patch 9.1.0575
44856
+ Problem: Wrong comments in alt_tabpage() (after v9.1.0572)
44857
+ Solution: Correct the comments (zeertzjq).
44858
+
44859
+ Patch 9.1.0576
44860
+ Problem: tests: still an issue with test_gettext_make (after v9.1.0570)
44861
+ Solution: Compare the getenv() output against v:null to verify
44862
+ that $GETTEXT_PATH was set or not (Ken Takata).
44863
+
44864
+ Patch 9.1.0577
44865
+ Problem: Unnecessary checks for v:sizeoflong in test_put.vim. They are
44866
+ no longer necessary as Patch 8.2.3661 has changed the count to
44867
+ be within 32-bit integer limit.
44868
+ Solution: Remove the checks (zeertzjq).
44869
+
44870
+ Patch 9.1.0578
44871
+ Problem: no tests for :Tohtml
44872
+ Solution: Add two basic tests (Yinzuo Jiang).
44873
+
44874
+ Patch 9.1.0579
44875
+ Problem: Ex command is still executed after giving E1247.
44876
+ Solution: Indicate the error properly and set cmd to NULL (zeertzjq).
44877
+
44878
+ Patch 9.1.0580
44879
+ Problem: An :lmap mapping for a printable keypad key is not applied
44880
+ when typing it in Select mode.
44881
+ Solution: Change keypad key to ASCII after setting vgetc_char (zeertzjq).
44882
+
44883
+ Patch 9.1.0581
44884
+ Problem: style: Various lines are indented inconsistently
44885
+ Solution: Retab these lines and correct some comments (zeertzjq).
44886
+
44887
+ Patch 9.1.0582
44888
+ Problem: Printed line no longer overwrites colon when pressing Enter in
44889
+ Ex mode (after 9.1.0573).
44890
+ Solution: Restore the behavior of pressing Enter in Ex mode (zeertzjq).
44891
+
44892
+ Patch 9.1.0583
44893
+ Problem: filetype: *.pdf_tex files are not recognized
44894
+ Solution: Detect '*.pdf_tex' files as tex filetype (Jonas Dujava).
44895
+
44896
+ Patch 9.1.0584
44897
+ Problem: Warning about redeclaring f_id() non-static
44898
+ Solution: Declare f_id() static (John Marriott).
44899
+
44900
+ Patch 9.1.0585
44901
+ Problem: tests: test_cpoptions leaves swapfiles around
44902
+ Solution: Use :bw! instead of :close!
44903
+
44904
+ Patch 9.1.0586
44905
+ Problem: ocaml runtime files are outdated
44906
+ Solution: Sync those files with the upstream repo, detect a few more ocaml
44907
+ files (Yinzuo Jiang).
44908
+
44909
+ Patch 9.1.0587
44910
+ Problem: tests: Test_gui_lowlevel_keyevent is still flaky (after v9.1.0571)
44911
+ Solution: Skip generating key event for Ctrl-C, remove the test_is_flaky
44912
+ variable again (Ken Takata).
44913
+
44914
+ Patch 9.1.0588
44915
+ Problem: The maze program no longer compiles on newer clang
44916
+ Solution: Use ANSI C function definition for main() (Mohamed Akram).
44917
+
44918
+ Patch 9.1.0589
44919
+ Problem: vi: d{motion} and cw command work differently than expected
44920
+ Solution: add new cpo-z flag to make the behaviour configurable
44921
+
44922
+ Patch 9.1.0590
44923
+ Problem: Vim9: crash when accessing getregionpos() return value.
44924
+ Solution: Correct the return type (zeertzjq).
44925
+
44926
+ Patch 9.1.0591
44927
+ Problem: filetype: *.wl files are not recognized
44928
+ Solution: Detect '*.wl' files as Mathematica package files (Jonas Dujava).
44929
+
44930
+ Patch 9.1.0592
44931
+ Problem: filetype: Mediawiki files are not recognized
44932
+ Solution: detect "*.mw" and "*.wiki" as mediawiki filetype,
44933
+ include basic syntax and filetype plugins (AvidSeeker).
44934
+
44935
+ Patch 9.1.0593
44936
+ Problem: filetype: Asymptote files are not recognized
44937
+ Solution: detect '*.asy' files as asy filetype, include ftplugin and syntax
44938
+ plugin (AvidSeeker).
44939
+
44940
+ Patch 9.1.0594
44941
+ Problem: Unnecessary redraw when setting 'winfixbuf'.
44942
+ Solution: Remove P_RWIN flag (zeertzjq).
44943
+
44944
+ Patch 9.1.0595
44945
+ Problem: make errors out with the po Makefile
44946
+ (yanivshlom, after v9.1.0558)
44947
+ Solution: Set variables differently (RestorerZ).
44948
+
44949
+ Patch 9.1.0596
44950
+ Problem: filetype: Debian devscripts config files are not recognized
44951
+ Solution: detect devscripts.conf and .devscripts files as sh filetype
44952
+ (sourced by /bin/sh).
44953
+
44954
+ Patch 9.1.0597
44955
+ Problem: KeyInputPre cannot get the (unmapped typed) key (after v9.1.0563)
44956
+ Solution: Add the "typedchar" property to the v:event dict
44957
+ (Shougo Matsushita).
44958
+
44959
+ Patch 9.1.0598
44960
+ Problem: fuzzy completion does not work with default completion
44961
+ Solution: Make it work (glepnir).
44962
+
44963
+ Patch 9.1.0599
44964
+ Problem: Termdebug: still get E1023 when specifying arguments and using
44965
+ a prompt buffer.
44966
+ Solution: Use empty() instead of len(). Add a test. Fix wrong order of
44967
+ arguments to assert_equal() in Test_termdebug_basic() (zeertzjq).
44968
+
44969
+ Patch 9.1.0600
44970
+ Problem: unused function typval_compare_class() and error constants
44971
+ Solution: Remove function typval_compare_class() and ifdef out
44972
+ unused error constants (Dominique Pellé).
44973
+
44974
+ Patch 9.1.0601
44975
+ Problem: Wrong cursor position with 'breakindent' when a double-width
44976
+ character doesn't fit in a screen line (mikoto2000)
44977
+ Solution: Include the width of the 'breakindent' properly (zeertzjq).
44978
+
44979
+ Patch 9.1.0602
44980
+ Problem: filetype: Prolog detection can be improved
44981
+ Solution: Update the prolog detection regex (igna_martinoli).
44982
+
44983
+ Patch 9.1.0603
44984
+ Problem: Pattern detection for Dracula language uses "*lvs" and "*lpe".
44985
+ as there is no dot, those are not treated as extensions which
44986
+ they should (judging by 'runtime/syntax/dracula.vim' and
44987
+ common sense).
44988
+ Solution: Use "*.lvs" and "*.lpe" patterns (Evgeni Chasnovski).
44989
+
44990
+ Patch 9.1.0604
44991
+ Problem: popup_filter during Press Enter prompt seems to hang
44992
+ Solution: Return early, when need_wait_return is set (Ernie Rael).
44993
+
44994
+ Patch 9.1.0605
44995
+ Problem: internal error with fuzzy completion (techntools)
44996
+ Solution: Only fuzzy complete the pattern after directory separator
44997
+ (glepnir)
44998
+
44999
+ Patch 9.1.0606
45000
+ Problem: tests: generated files may cause failure in test_codestyle
45001
+ Solution: Exclude OLE-related generated files from style checks (Ken Takata).
45002
+
45003
+ Patch 9.1.0607
45004
+ Problem: termdebug: uses inconsistent style
45005
+ Solution: termdebug: deprecate numeric values for v:true/false, fix white
45006
+ space style in the plugin (Ubaldo Tiberi).
45007
+
45008
+ Patch 9.1.0608
45009
+ Problem: Coverity warns about a few potential issues
45010
+ Solution: Fix those issues (see details below)
45011
+
45012
+ Patch 9.1.0609
45013
+ Problem: outdated comments in Makefile
45014
+ Solution: Update outdated comments, update rule for vimtags (Shane Harper).
45015
+
45016
+ Patch 9.1.0610
45017
+ Problem: filetype: OpenGL Shading Language files are not detected
45018
+ Solution: Detect various file extensions as GLSL filetype, include
45019
+ indent and syntax script, do no longer recognize '*.comp'
45020
+ as Mason filetype (Gregory Anders).
45021
+
45022
+ Patch 9.1.0611
45023
+ Problem: Ambiguous mappings not correctly resolved with modifyOtherKeys
45024
+ Solution: Check for termcode when an upper case mapping is received and
45025
+ does not match (Oleg Goncharov).
45026
+
45027
+ Patch 9.1.0612
45028
+ Problem: filetype: deno.lock file not recognized
45029
+ Solution: detect 'deno.lock' as json filetype (カワリミ人形).
45030
+
45031
+ Patch 9.1.0613
45032
+ Problem: tests: termdebug test may fail and leave temp file around
45033
+ (Dominique Pellé)
45034
+ Solution: Only run balloon_show() if the function exists, validate
45035
+ termdebug is running using the g: termdebug_is_running var,
45036
+ use defer to delete temporary files.
45037
+
45038
+ Patch 9.1.0614
45039
+ Problem: Vim syntax file changes to :set command highlighting render
45040
+ some test dump files invalid (zeertzjq)
45041
+ Solution: Regenerate the affected dump files (Doug Kearns).
45042
+
45043
+ Patch 9.1.0615
45044
+ Problem: Unnecessary STRLEN() in make_percent_swname()
45045
+ Solution: Pass the end of "dir" to make_percent_swname() (zeertzjq).
45046
+
45047
+ Patch 9.1.0616
45048
+ Problem: filetype: Make syntax highlighting off for MS Makefiles
45049
+ Solution: Try to detect MS Makefiles and adjust syntax rules to it.
45050
+ (Ken Takata)
45051
+
45052
+ Patch 9.1.0617
45053
+ Problem: Cursor moves beyond start of a folded range at the end of a buffer.
45054
+ Solution: Move cursor to start of fold when going beyond end of buffer.
45055
+ Check that cursor moved to detect FAIL in outer cursor function.
45056
+ (Luuk van Baal)
45057
+
45058
+ Patch 9.1.0618
45059
+ Problem: cannot mark deprecated attributes in completion menu
45060
+ Solution: Add hl_group to the Dictionary of supported completion fields
45061
+ (glepnir).
45062
+
45063
+ Patch 9.1.0619
45064
+ Problem: tests: test_popup fails (after v9.1.0618)
45065
+ Solution: Correct test, move combining extra attributes to
45066
+ pum_compute_text_attrs() (glepnir).
45067
+
45068
+ Patch 9.1.0620
45069
+ Problem: Vim9: segfauls with null objects (after v9.1.0219)
45070
+ Solution: Check object pointer being NULL (Ernie Rael).
45071
+
45072
+ Patch 9.1.0621
45073
+ Problem: MS-Windows: startup code can be improved
45074
+ Solution: Re-work and optimize win32 startup code (Ken Takata).
45075
+
45076
+ Patch 9.1.0622
45077
+ Problem: MS-Windows: mingw-build can be optimized
45078
+ Solution: Use --gc-sections to reduce the size of the executable
45079
+ (Ken Takata)
45080
+
45081
+ Patch 9.1.0623
45082
+ Problem: Mingw: warnings when trying to delete non-existing files
45083
+ Solution: Use "rm -f" instead of "rm" to suppress errors for
45084
+ non-existing files (Ken Takata)
45085
+
45086
+ Patch 9.1.0624
45087
+ Problem: ex command modifiers are not found (Ingo Karkat, after v9.1.0352)
45088
+ Solution: Partly revert Patch v9.1.0352, ignore :{ and :}
45089
+
45090
+ Patch 9.1.0625
45091
+ Problem: tests: test output all translated messages for all
45092
+ translations
45093
+ Solution: Redirect the output of check.vim to /dev/null, it's not that
45094
+ useful.
45095
+
45096
+ Patch 9.1.0626
45097
+ Problem: Vim9: need more tests with null objects (after v9.1.0620)
45098
+ Solution: add one more test with null_object (Ernie Rael).
45099
+
45100
+ Patch 9.1.0627
45101
+ Problem: MinGW: build-error when COVERAGE is enabled
45102
+ (after v9.1.0621)
45103
+ Solution: Fix regressions in v9.1.0621 and v9.1.0622 (Ken Takata).
45104
+
45105
+ Patch 9.1.0628
45106
+ Problem: MinGW: coverage files are not cleaned up
45107
+ Solution: Adjust clean rule to remove the coverage files (Ken Takata).
45108
+
45109
+ Patch 9.1.0629
45110
+ Problem: Rename of pum hl_group is incomplete in source.
45111
+ Solution: Also rename the test function. Rename to user_hlattr in code
45112
+ to avoid confusion with pum_extra. Add test with matched text
45113
+ highlighting (zeertzjq).
45114
+
45115
+ Patch 9.1.0630
45116
+ Problem: MS-Windows: build fails with VIMDLL and mzscheme
45117
+ Solution: Define scheme_register_tls_space() inside gvim.exe
45118
+ and refer to it from the dll (Ken Takata).
45119
+
45120
+ Patch 9.1.0631
45121
+ Problem: wrong completion list displayed with non-existing dir + fuzzy
45122
+ completion (kawarimidoll)
45123
+ Solution: clear list of matches, if leader did not use fuzzy match (glepnir).
45124
+
45125
+ Patch 9.1.0632
45126
+ Problem: MS-Windows: Compiler Warnings
45127
+ Solution: Fix the warnings (Ken Takata).
45128
+
45129
+ Patch 9.1.0633
45130
+ Problem: Compilation warnings with `-Wunused-parameter`
45131
+ Solution: Add the `UNUSED` macro where needed, and remove some
45132
+ superfluous ones (Dominique Pellé).
45133
+
45134
+ Patch 9.1.0634
45135
+ Problem: Ctrl-P not working by default (Jesse Pavel, after v9.1.0598)
45136
+ Solution: Revert part of v9.1.0598 and set cur_match_pos
45137
+ correctly according to compl_dir_forward().
45138
+
45139
+ Patch 9.1.0635
45140
+ Problem: filetype: SuperHTML template files not recognized
45141
+ Solution: Update the filetype detection code to detect '*.shtml' either
45142
+ as HTML (Server Side Includes) or SuperHTML (template files)
45143
+ (EliSauder).
45144
+
45145
+ Patch 9.1.0636
45146
+ Problem: filetype: ziggy files are not recognized
45147
+ Solution: detect '*.ziggy' files as ziggy filetype,
45148
+ detect '*.ziggy-schema' files as ziggy-schema filetype (EliSauder).
45149
+
45150
+ Patch 9.1.0637
45151
+ Problem: MS-Windows: Style issues in MSVC Makefile
45152
+ Solution: Fix style issues, simplify logic (Ken Takata).
45153
+
45154
+ Patch 9.1.0638
45155
+ Problem: E1510 may happen when formatting a message (after 9.1.0181).
45156
+ Solution: Only give E1510 when using typval (zeertzjq).
45157
+
45158
+ Patch 9.1.0639
45159
+ Problem: channel timeout may wrap around
45160
+ Solution: Correct timeout calculation when GetTickCount() wraps around
45161
+ (Ken Takata).
45162
+
45163
+ Patch 9.1.0640
45164
+ Problem: Mingw: Makefile can be improved
45165
+ Solution: Reduce nesting level, directly check if the '-Wl,--entry'
45166
+ option is required (Ken Takata).
45167
+
45168
+ Patch 9.1.0641
45169
+ Problem: MS-Windows: OLE enabled in console version, may cause hang
45170
+ (Linda_pp)
45171
+ Solution: Disable OLE for console version (Ken Takata).
45172
+
45173
+ Patch 9.1.0642
45174
+ Problem: Check that mapping rhs starts with lhs doesn't work if lhs is
45175
+ not simplified.
45176
+ Solution: Keep track of the mapblock containing the alternative lhs and
45177
+ also compare with it (zeertzjq).
45178
+
45179
+ Patch 9.1.0643
45180
+ Problem: terminal: cursor may end up on invalid position after reducing
45181
+ the scrollback lines (user202729)
45182
+ Solution: After reducing the scrollback size, check the cursor position,
45183
+ making sure it does not end up on an invalid line.
45184
+
45185
+ Patch 9.1.0644
45186
+ Problem: Unnecessary STRLEN() when applying mapping (after v9.1.0642).
45187
+ Solution: Use m_keylen and vim_strnsave() (zeertzjq).
45188
+
45189
+ Patch 9.1.0645
45190
+ Problem: regex: wrong match when searching multi-byte char case-insensitive
45191
+ (diffsetter)
45192
+ Solution: Apply proper case-folding for characters and search-string
45193
+
45194
+ Patch 9.1.0646
45195
+ Problem: Vim9: imported function may not be found
45196
+ Solution: Try to find the function by name (Ernie Rael).
45197
+
45198
+ Patch 9.1.0647
45199
+ Problem: [security] use-after-free in tagstack_clear_entry (Suyue Guo).
45200
+ Solution: Instead of manually calling vim_free() on each of the tagstack
45201
+ entries, let's use tagstack_clear_entry(), which will
45202
+ also free the stack, but using the VIM_CLEAR macro, which prevents a
45203
+ use-after-free by setting those pointers to NULL.
45204
+
45205
+ Patch 9.1.0648
45206
+ Problem: [security] double-free in dialog_changed() (SuyueGuo)
45207
+ Solution: Only clear pointer b_sfname pointer, if it is different than the
45208
+ b_ffname pointer. Don't try to free b_fname, set it to NULL
45209
+ instead.
45210
+
45211
+ Patch 9.1.0649
45212
+ Problem: Wrong comment for "len" argument of call_simple_func().
45213
+ Solution: Remove the "or -1 to use strlen()". Also change its type to
45214
+ size_t to remove one cast. (zeertzjq).
45215
+
45216
+ Patch 9.1.0650
45217
+ Problem: Coverity warning in cstrncmp() (after v9.1.0645).
45218
+ Solution: Change the type of n2 to int (zeertzjq).
45219
+
45220
+ Patch 9.1.0651
45221
+ Problem: ex: trailing dot is optional for :g and :insert/:append
45222
+ Solution: Don't break out early, when the next command is empty
45223
+ (Mohamed Akram).
45224
+
45225
+ Patch 9.1.0652
45226
+ Problem: too many strlen() calls in syntax.c
45227
+ Solution: refactor code to reduce the number or strlen() calls, get rid of
45228
+ un-used SYN_NAMELEN macro (John Marriott).
45229
+
45230
+ Patch 9.1.0653
45231
+ Problem: Patch v9.1.0648 not completely right (zeertzjq)
45232
+ Solution: Remove always true condition.
45233
+
45234
+ Patch 9.1.0654
45235
+ Problem: completion does not respect completeslash with fuzzy (egesip)
45236
+ Solution: Change path separator on Windows, depending on 'completeslash'
45237
+ option value (glepnir).
45238
+
45239
+ Patch 9.1.0655
45240
+ Problem: filetype: goaccess config file not recognized
45241
+ Solution: Detect 'goaccess.conf' as goaccess filetype, also
45242
+ include a basic syntax and ftplugin (Adam Monsen)
45243
+
45244
+ Patch 9.1.0656
45245
+ Problem: MS-Windows: MSVC Makefile CPU handling can be improved
45246
+ Solution: Update Makefile and also remove some old code (Ken Takata).
45247
+
45248
+ Patch 9.1.0657
45249
+ Problem: MS-Windows: MSVC build time can be optimized
45250
+ Solution: Stop using Powershell, show detected version, read _MSC_VER
45251
+ and _MSC_FULL_VER in a single cl execution. (Ken Takata).
45252
+
45253
+ Patch 9.1.0658
45254
+ Problem: Coverity warns about dereferencing NULL pointer.
45255
+ Solution: Bail out if vim_strrchr() returns NULL (zeertzjq).
45256
+
45257
+ Patch 9.1.0659
45258
+ Problem: MS-Windows: MSVC Makefile is a bit hard to read (after v9.1.0657).
45259
+ Solution: Indent the if/else statements to improve readability (Ken Takata).
45260
+
45261
+ Patch 9.1.0660
45262
+ Problem: MS-Windows: Shift-Insert does not work on old conhost
45263
+ (Nick Jensen, after 9.0.1146)
45264
+ Solution: Handle Shift-Insert specifically (Christian Plewright).
45265
+
45266
+ Patch 9.1.0661
45267
+ Problem: the zip plugin is not tested.
45268
+ Solution: Include tests (Damien).
45269
+
45270
+ Patch 9.1.0662
45271
+ Problem: filecopy() may return wrong value when readlink() fails.
45272
+ Solution: Set ret to -1 so that 0 is returned when readlink() fails
45273
+ (zeertzjq).
45274
+
45275
+ Patch 9.1.0663
45276
+ Problem: tests: zip test still resets 'shellslash' option
45277
+ Solution: Remove resetting the 'shellslash' option, the zip plugin should now
45278
+ be able to handle this options.
45279
+
45280
+ Patch 9.1.0664
45281
+ Problem: MS-Windows: console vim did not switch back to main screen on
45282
+ exit
45283
+ Solution: switch back to main screen on exit (Ken Takata).
45284
+
45285
+ Patch 9.1.0665
45286
+ Problem: Locked variable can be changed in a :for loop.
45287
+ Solution: Always do a full permission check on the first loop iteration
45288
+ where ASSIGN_DECL is not set (zeertzjq).
45289
+
45290
+ Patch 9.1.0666
45291
+ Problem: assert_equal() doesn't show multibyte string correctly
45292
+ Solution: Properly advance over a multibyte char (zeertzjq).
45293
+
45294
+ Patch 9.1.0667
45295
+ Problem: Some other options reset curswant unnecessarily when set.
45296
+ (Andrew Haust)
45297
+ Solution: Don't reset curswant when setting 'comments', 'commentstring'
45298
+ or 'define' (zeertzjq).
45299
+
45300
+ Patch 9.1.0668
45301
+ Problem: build-error with python3.12 and stable ABI (zdohnal)
45302
+ Solution: Add type casts, define Py_INCREF for Python3.12 and higher
45303
+ (Ken Takata).
45304
+
45305
+ Patch 9.1.0669
45306
+ Problem: stable python ABI not used by default
45307
+ Solution: Enable stable python ABI v3.8 when building with python3/dyn
45308
+ by default, update the default Python3 version to 3.8 for
45309
+ MS-Windows (Ken Takata).
45310
+
45311
+ Patch 9.1.0670
45312
+ Problem: po file encoding fails on *BSD during make
45313
+ Solution: Instead of using `$<` make use of variable `$?` which should
45314
+ be equivalent when the rule is dependent on only a single
45315
+ file (RestorerZ).
45316
+
45317
+ Patch 9.1.0672
45318
+ Problem: marker folds may get corrupted on undo (Yousef Mohammed)
45319
+ Solution: When adjusting folds, make sure that line1 is the lower limit
45320
+ and line2 is the upper line limit. In particular, line2 should
45321
+ not be able to get smaller than line1.
45322
+
45323
+ Patch 9.1.0673
45324
+ Problem: Vim9: too recursive func calls when calling super-class method
45325
+ with non-overriden super-call methods. (Aliaksei Budavei)
45326
+ Solution: Use interface method, when super is to be used (Ernie Rael)
45327
+
45328
+ Patch 9.1.0674
45329
+ Problem: Vim9: compiling abstract method fails because of missing
45330
+ return (Aliaksei Budavei)
45331
+ Solution: Don't require a return statement for an abstract method when
45332
+ compiling (Ernie Rael).
45333
+
45334
+ Patch 9.1.0675
45335
+ Problem: Patch v9.1.0674 causes problems
45336
+ Solution: Revert it for now.
45337
+
45338
+ Patch 9.1.0676
45339
+ Problem: style issues with man pages
45340
+ Solution: Update man pages and test_xxd.vim, since it uses
45341
+ the xxd man page (RestorerZ)
45342
+
45343
+ Patch 9.1.0677
45344
+ Problem: :keeppatterns does not retain the substitute pattern
45345
+ for a :s command
45346
+ Solution: Preserve the last substitute pattern when used with the
45347
+ :keeppatterns command modifier (Gregory Anders).
45348
+
45349
+ Patch 9.1.0678
45350
+ Problem: [security]: use-after-free in alist_add() (SuyueGuo)
45351
+ Solution: Lock the current window, so that the reference to
45352
+ the argument list remains valid.
45353
+
45354
+ Patch 9.1.0679
45355
+ Problem: Rename from w_closing to w_locked is incomplete (after 9.1.0678).
45356
+ Solution: Rename remaining occurrences of w_closing to w_locked and
45357
+ update comments (zeertzjq).
45358
+
45359
+ Patch 9.1.0680
45360
+ Problem: VMS does not have defined uintptr_t
45361
+ Solution: Add type definitions (Zoltan Arpadffy).
45362
+
45363
+ Patch 9.1.0681
45364
+ Problem: tests: Analyzing failed screendumps is hard
45365
+ Solution: Facilitate the viewing of rendered screendumps under src/
45366
+ add some documentation on how to use the viewdumps.vim
45367
+ script (Aliaksei Budavei)
45368
+
45369
+ Patch 9.1.0682
45370
+ Problem: Vim9: Segfault with uninitialized funcref (Daniel Viberg)
45371
+ Solution: Check the Funcref for being Null before trying to access it
45372
+ (Ernie Rael).
45373
+
45374
+ Patch 9.1.0683
45375
+ Problem: mode() returns wrong value with <Cmd> mapping
45376
+ Solution: Change decision priority of VIsual_active and move visual mode a bit
45377
+ further down (kuuote)
45378
+
45379
+ Patch 9.1.0684
45380
+ Problem: completion is inserted on Enter with "noselect" (Carman Fu)
45381
+ Solution: Check noselect before update compl_shown_match (glepnir).
45382
+
45383
+ Patch 9.1.0685
45384
+ Problem: too many strlen() calls in usercmd.c
45385
+ Solution: Refactor code to reduce the number or strlen() calls (John Marriott)
45386
+
45387
+ Patch 9.1.0686
45388
+ Problem: zip-plugin has problems with special characters (user202729)
45389
+ Solution: Escape '*?[\' on Unix and handle those chars a bit differently on
45390
+ MS-Windows, add a test, check before overwriting files.
45391
+
45392
+ Patch 9.1.0687
45393
+ Problem: Makefile may not install desktop files
45394
+ Solution: Check for "$(DESTDIR)$(DATADIR)" instead of just "$DESTDIR",
45395
+ which is usually not defined, add uninstall rules for the
45396
+ icons and the desktop files.
45397
+
45398
+ Patch 9.1.0688
45399
+ Problem: Vim9: dereferences NULL pointer in check_type_is_value() (Suyue Guo)
45400
+ Solution: Verify that the pointer is not Null.
45401
+
45402
+ Patch 9.1.0689
45403
+ Problem: buffer-overflow in do_search() with 'rightleft' (SuyueGuo)
45404
+ Solution: After reversing the text (which allocates a new buffer),
45405
+ re-calculate the text length.
45406
+
45407
+ Patch 9.1.0690
45408
+ Problem: cannot set special highlight kind in popupmenu
45409
+ Solution: Add kind_hlgroup item to complete function (glepnir).
45410
+
45411
+ Patch 9.1.0691
45412
+ Problem: python3: stable-abi may cause segfault on Python 3.11
45413
+ (Audrius Kažukauskas, after v9.1.0668)
45414
+ Solution: Do not enable the stable Python ABI by default, only when used
45415
+ with --with-python3-stable-abi argument is given
45416
+
45417
+ Patch 9.1.0692
45418
+ Problem: Wrong patlen value in ex_substitute() (after 9.1.0426).
45419
+ Solution: Compute patlen after finding end separator (zeertzjq).
45420
+
45421
+ Patch 9.1.0693
45422
+ Problem: Configure doesn't show result when not using python3 stable
45423
+ abi (after v9.1.0691)
45424
+ Solution: Add back AC_MSG_RESULT() (Ken Takata).
45425
+
45426
+ Patch 9.1.0694
45427
+ Problem: The matchparen plugin is slow on a long line.
45428
+ Solution: Don't use a regexp to get char at and before cursor (zeertzjq).
45429
+
45430
+ Patch 9.1.0695
45431
+ Problem: tests: test_crash leaves Untitled file around
45432
+ Solution: Cleanup at the end of the test_crash.vim test file.
45433
+
45434
+ Patch 9.1.0696
45435
+ Problem: installing runtime files fails when using SHADOWDIR
45436
+ Solution: Revert part of v9.1.0609, since runtime/doc/Makefile's default
45437
+ value for VIMPROG does not work if vim was built in a SHADOWDIR.
45438
+ (James McCoy)
45439
+
45440
+ Patch 9.1.0697
45441
+ Problem: heap-buffer-overflow in ins_typebuf (SuyueGuo)
45442
+ Solution: When flushing the typeahead buffer, validate that there is enough
45443
+ space left
45444
+
45445
+ Patch 9.1.0698
45446
+ Problem: tests: "Untitled" file not removed when running Test_crash1_3 alone
45447
+ with TEST_FILTER (after v9.1.0695)
45448
+ Solution: Use a TearDown function instead of another test (zeertzjq).
45449
+
45450
+ Patch 9.1.0699
45451
+ Problem: "dvgo" is not always an inclusive motion (Iain King-Speir)
45452
+ Solution: Initialize the inclusive flag to false.
45453
+
45454
+ Patch 9.1.0700
45455
+ Problem: possible crash with 2byte encoding and glob2regpat()
45456
+ Solution: Skip over character, if it is multi-byte character.
45457
+
45458
+ Patch 9.1.0701
45459
+ Problem: crash with NFA regex engine when searching for composing chars
45460
+ (SuyueGuo)
45461
+ Solution: When there is no composing character, break out of the loop
45462
+ and check that out1 state is not null.
45463
+
45464
+ Patch 9.1.0702
45465
+ Problem: Patch 9.1.0700 broke CI
45466
+ Solution: Revert for now.
45467
+
45468
+ Patch 9.1.0703
45469
+ Problem: possible crash with 2-byte encoding and glob2regpat()
45470
+ (after v9.1.0700, v9.1.0702)
45471
+ Solution: Include both bytes for a multi-byte character for an
45472
+ escaped character.
45473
+
45474
+ Patch 9.1.0704
45475
+ Problem: inserting with a count is inefficient
45476
+ Solution: Disable calculation of the cursor position and topline, if a
45477
+ count has been used (Ken Takata).
45478
+
45479
+ Patch 9.1.0705
45480
+ Problem: Sorting of fuzzy filename completion is not stable
45481
+ Solution: Compare indexes when scores are equal. Fix some typos (zeertzjq).
45482
+
45483
+ Patch 9.1.0706
45484
+ Problem: tests: test_gettext fails when using shadow dir
45485
+ Solution: Link the ru_RU directory into the shadow testdir (James McCoy).
45486
+
45487
+ Patch 9.1.0707
45488
+ Problem: [security]: invalid cursor position may cause a crash
45489
+ (after v9.1.0038)
45490
+ Solution: Set cursor to the last character in a line, if it would
45491
+ otherwise point to beyond the line; no tests added, as it
45492
+ is unclear how to reproduce this.
45493
+
45494
+ Patch 9.1.0708
45495
+ Problem: Window is updated with potentially invalid skipcol in recursive
45496
+ window update path. I.e. cursor outside of visible range in
45497
+ large line that does not fit.
45498
+ Solution: Make sure it is valid (Luuk van Baal).
45499
+
45500
+ Patch 9.1.0709
45501
+ Problem: GUIEnter not found in Turkish locale (James McCoy)
45502
+ Solution: Explicitly compare autocommand events by ASCII value and
45503
+ ignoring locale, because according to the documentation,
45504
+ events are case insensitive.
45505
+
45506
+ Patch 9.1.0710
45507
+ Problem: when a popup window covers the command line,
45508
+ the command line is not completely cleared on popup_hide() (yu3s)
45509
+ Solution: Check if the popup window covers the command line and if it
45510
+ does, set the clear_cmdline flag.
45511
+
45512
+ Patch 9.1.0711
45513
+ Problem: tests: test_xxd may file when using different xxd
45514
+ Solution: Make Test_xxd_color_0 agnostic to xxd's path, similar to
45515
+ Test_xxd_color_1 by filtering out shell command prompt in
45516
+ screen dump file (James McCoy).
45517
+
45518
+ Patch 9.1.0712
45519
+ Problem: tests: missing dependency of Test_gettext_makefile
45520
+ Solution: Check that xgettext binary is available, else skip the test
45521
+ (James McCoy).
45522
+
45523
+ Patch 9.1.0713
45524
+ Problem: Newline causes E749 in Ex mode (after 9.1.0573).
45525
+ Solution: Don't execute empty command followed by a newline.
45526
+
45527
+ Patch 9.1.0714
45528
+ Problem: tests: GuiEnter_Turkish test may fail
45529
+ Solution: The message will be translated if the Turkish message file is
45530
+ installed. Use gettext() to get the expected message (Ken Takata).
45531
+
45532
+ Patch 9.1.0715
45533
+ Problem: Not correctly parsing color names (chdiza, after v9.1.0709)
45534
+ Solution: Revert part of the Patch that compares the color names and
45535
+ fall-back to the macro STRICMP.
45536
+
45537
+ Patch 9.1.0716
45538
+ Problem: resetting setcellwidth() doesn't update the screen
45539
+ Solution: Redraw after clearing the cellwidth table (Ken Takata).
45540
+
45541
+ Patch 9.1.0717
45542
+ Problem: Unnecessary nextcmd NULL checks in parse_command_modifiers().
45543
+ Solution: Remove them (zeertzjq).
45544
+
45545
+ Patch 9.1.0718
45546
+ Problem: hard to guess the Vim Runtime Directory
45547
+ Solution: Set the $MYVIMDIR environment variable to the users
45548
+ personal runtime directory (e.g. ~/.vim on Linux).
45549
+
45550
+ Patch 9.1.0719
45551
+ Problem: Resetting cell widths can make 'listchars' or 'fillchars'
45552
+ invalid.
45553
+ Solution: Check for conflicts when resetting cell widths (zeertzjq).
45554
+
45555
+ Patch 9.1.0720
45556
+ Problem: Wrong breakindentopt=list:-1 with multibyte chars or TABs in
45557
+ text matched by 'formatlistpat' (John M Devin)
45558
+ Solution: Use the width of the match text (zeertzjq).
45559
+
45560
+ Patch 9.1.0721
45561
+ Problem: tests: test_mksession does not consider XDG_CONFIG_HOME
45562
+ Solution: Allow to match $HOME/.vim/ and $HOME/.config/vim for &viewdir
45563
+ (John M Devin)
45564
+
45565
+ Patch 9.1.0722
45566
+ Problem: crash with large id in text_prop interface
45567
+ prop_add()/prop_add_list() (cposture)
45568
+ Solution: Error out if the id is > INT_MAX or <= INT_MIN.
45569
+
45570
+ Patch 9.1.0723
45571
+ Problem: if_python: dynamic linking fails with python3 >= 3.13
45572
+ when using non-stable ABI (zdohnal)
45573
+ Solution: Do not try to import the privat python symbol
45574
+ _PyObject_NextNotImplemented (Yee Cheng Chin).
45575
+
45576
+ Patch 9.1.0724
45577
+ Problem: if_python: link error with python 3.13 and stable ABI (zdohnal)
45578
+ Solution: Use the correct stable APIs Py_IncRef and Py_DecRef instead
45579
+ (Yee Cheng Chin)
45580
+
45581
+ Patch 9.1.0725
45582
+ Problem: filetype: swiftinterface files are not recognized
45583
+ Solution: Detect '*.swiftinterface' files as swift filetype (LosFarmosCTL).
45584
+
45585
+ Patch 9.1.0726
45586
+ Problem: not using correct python3 API with dynamic linking
45587
+ Solution: Use stable IncRef / DecRef in Python 3 dynamic bindings
45588
+ (Yee Cheng Chin).
45589
+
45590
+ Patch 9.1.0727
45591
+ Problem: too many strlen() calls in option.c
45592
+ Solution: Refactor the code to reduce the number of strlen() calls
45593
+ (John Marriott)
45594
+
45595
+ Patch 9.1.0728
45596
+ Problem: heap-use-after-free in garbage collection with location list
45597
+ user data.
45598
+ Solution: Mark user data as in use when no other window is referencing
45599
+ the location list (zeertzjq).
45600
+
45601
+ Patch 9.1.0729
45602
+ Problem: Wrong cursor-screenline when resizing window
45603
+ Solution: Invalidate saved left_col and right_col when width1 or width2
45604
+ change.
45605
+
45606
+ Patch 9.1.0730
45607
+ Problem: Crash with cursor-screenline and narrow window (elig0n)
45608
+ Solution: Don't set right_col when width2 is 0 (zeertzjq).
45609
+
45610
+ Patch 9.1.0731
45611
+ Problem: inconsistent case sensitive extension matching
45612
+ Solution: Unify case sensitive extension matching (Evgeni Chasnovski).
45613
+
45614
+ Patch 9.1.0732
45615
+ Problem: xxd: cannot use -b and -i together (Irgendwer)
45616
+ Solution: Implement the missing changes (Andre Chang)
45617
+
45618
+ Patch 9.1.0733
45619
+ Problem: keyword completion does not work with fuzzy (egesip)
45620
+ Solution: Handle ctrl_x_mode_normal() specifically (glepnir).
45621
+
45622
+ Patch 9.1.0734
45623
+ Problem: filetype: jinja files are not recognized
45624
+ Solution: Detect '*.jinja' files a jinja filetype,
45625
+ include jinja syntax script (Gregory Anders)
45626
+
45627
+ Patch 9.1.0735
45628
+ Problem: filetype: salt files are not recognized
45629
+ Solution: Detect '*.sls' files as filetype salt,
45630
+ include a syntax script (Gregory Anders)
45631
+
45632
+ Patch 9.1.0736
45633
+ Problem: Unicode tables are outdated
45634
+ Solution: Update Unicode tables to v16
45635
+
45636
+ Patch 9.1.0737
45637
+ Problem: Asynchronous terminal jobs occassionally require more time
45638
+ to complete and redraw the window
45639
+ Solution: Increase the sleep value from 10 to 50 milliseconds
45640
+ (Aliaksei Budavei).
45641
+
45642
+ Patch 9.1.0738
45643
+ Problem: filetype: rapid files are not recognized
45644
+ Solution: Detect '*.sysx' and '*.modx' as rapid filetype (KnoP-01).
45645
+
45646
+ Patch 9.1.0739
45647
+ Problem: [security]: use-after-free in ex_getln.c
45648
+ Solution: free pointer p a bit later (John Marriott).
45649
+
45650
+ Patch 9.1.0740
45651
+ Problem: incorrect internal diff with an empty file
45652
+ Solution: Set pointer to NULL, instead of using an empty line file
45653
+ (Yukihiro Nakadaira).
45654
+
45655
+ Patch 9.1.0741
45656
+ Problem: No way to get prompt for input()/confirm()
45657
+ Solution: Add getcmdprompt() function (Shougo Matsushita).
45658
+
45659
+ Patch 9.1.0742
45660
+ Problem: getcmdprompt() implementation can be improved
45661
+ Solution: Improve and simplify it (h-east).
45662
+
45663
+ Patch 9.1.0743
45664
+ Problem: diff mode does not handle overlapping diffs correctly
45665
+ Solution: Correct the logic to handle overlapping blocks
45666
+ (Yukihiro Nakadaira)
45667
+
45668
+ Patch 9.1.0744
45669
+ Problem: filetype: notmuch configs are not recognised
45670
+ Solution: Detect more notmuch profile configuration files
45671
+ as dosini filetype (Julio B).
45672
+
45673
+ Patch 9.1.0745
45674
+ Problem: filetype: bun and deno history files not recognized
45675
+ Solution: Detect '.bun_repl_history' and 'deno_history.txt' as
45676
+ javascript filetype (Wu, Zhenyu).
45677
+
45678
+ Patch 9.1.0746
45679
+ Problem: Test_halfpage_longline() fails on large terminals (lazypingu)
45680
+ Solution: Use a window with known width (zeertzjq).
45681
+
45682
+ Patch 9.1.0747
45683
+ Problem: various typos in repo found
45684
+ Solution: Fix typos (zeertzjq).
45685
+
45686
+ Patch 9.1.0748
45687
+ Problem: The :keep{alt,jumps,marks,patterns} commmands are sometimes
45688
+ misidentified as :k.
45689
+ Solution: Make sure one_letter_cmd() only returns true for :k and not
45690
+ other :keep* commands (Doug Kearns).
45691
+
45692
+ Patch 9.1.0749
45693
+ Problem: filetype: http files not recognized
45694
+ Solution: Detect '*.http' as http filetype, include
45695
+ http filetype plugin (Riley Bruins)
45696
+
45697
+ Patch 9.1.0750
45698
+ Problem: there are some Win9x legacy references
45699
+ Solution: Remove those mentions (Nir Lichtman).
45700
+
45701
+ Patch 9.1.0751
45702
+ Problem: Error callback for term_start() not used (darkseid-is)
45703
+ Solution: Attach pipe to stderr if an error callback exists
45704
+
45705
+ Patch 9.1.0752
45706
+ Problem: can set cedit to an invalid value
45707
+ Solution: Check that the value is a valid key name (Milly)
45708
+
45709
+ Patch 9.1.0753
45710
+ Problem: Wrong display when typing in diff mode with 'smoothscroll'.
45711
+ Solution: Use adjust_plines_for_skipcol() (zeertzjq).
45712
+
45713
+ Patch 9.1.0754
45714
+ Problem: fixed order of items in insert-mode completion menu
45715
+ Solution: Introduce the 'completeitemalign' option with default
45716
+ value "abbr,kind,menu" (glepnir).
45717
+
45718
+ Patch 9.1.0755
45719
+ Problem: quickfix list does not handle hardlinks well
45720
+ Solution: Store original file name with quickfix entry (Austin Chang)
45721
+
45722
+ Patch 9.1.0756
45723
+ Problem: missing change from Patch v9.1.0754
45724
+ Solution: Use correct width for the actual item in pum_redraw() (glepnir).
45725
+
45726
+ Patch 9.1.0757
45727
+ Problem: tests: messages files contains ANSI escape sequences
45728
+ Solution: Filter those out in runtests.vim
45729
+
45730
+ Patch 9.1.0758
45731
+ Problem: it's possible to set an invalid key to 'wildcharm'
45732
+ Solution: Error out, if the 'wildcharm' value is an invalid key (Milly).
45733
+
45734
+ Patch 9.1.0759
45735
+ Problem: screenpos() may return invalid position after switching buffers
45736
+ (Greg Hurrell)
45737
+ Solution: Reset w_leftcol if wrapping has been set after copying wrap option.
45738
+
45739
+ Patch 9.1.0760
45740
+ Problem: tests: no error reported, if gen_opt_test.vim fails
45741
+ Solution: Make Vim exit with return code 1 in case of any error (Milly).
45742
+
45743
+ Patch 9.1.0761
45744
+ Problem: :cd completion fails on Windows with backslash in path
45745
+ Solution: Switch no_bslash argument to FALSE in file_pat_to_reg_pat()
45746
+
45747
+ Patch 9.1.0762
45748
+ Problem: 'cedit', 'termwinkey' and 'wildchar' may not be parsed correctly
45749
+ Solution: improve string_to_key() function in option.c (Milly).
45750
+
45751
+ Patch 9.1.0763
45752
+ Problem: tests: cannot run single syntax tests
45753
+ Solution: Support running a subset of syntax tests (Aliaksei Budavei).
45754
+
45755
+ Patch 9.1.0764
45756
+ Problem: [security]: use-after-free when closing a buffer
45757
+ Solution: When splitting the window and editing a new buffer,
45758
+ check whether the newly to be edited buffer has been marked
45759
+ for deletion and abort in this case.
45760
+
45761
+ Patch 9.1.0765
45762
+ Problem: No test for Patches 6.2.418 and 7.3.489
45763
+ Solution: Add a test. Fix some whitespace problems in test_mapping.vim.
45764
+ Document the behavior (zeertzjq).
45765
+
45766
+ Patch 9.1.0766
45767
+ Problem: too many strlen() calls in ex_getln.c
45768
+ Solution: Refactor the code to reduce the number of strlen() calls
45769
+ (John Marriott).
45770
+
45771
+ Patch 9.1.0767
45772
+ Problem: A cmdlen == 0 condition is always true as ccline.cmdlen == 0
45773
+ was already checked above (after v9.1.0766).
45774
+ Solution: Remove the condition and the variable (zeertzjq).
45775
+
45776
+ Patch 9.1.0768
45777
+ Problem: MS-Windows: incorrect cursor position when restoring screen
45778
+ (after v9.1.0664)
45779
+ Solution: Restore the VTP command for switching screens back to
45780
+ termcap_mode_end() (William Bresler).
45781
+
45782
+ Patch 9.1.0769
45783
+ Problem: filetype: MLIR files are not recognized
45784
+ Solution: Detect '*.mlir' files as mlir filetype,
45785
+ include a mlir filetype plugin (Wu, Zhenyu).
45786
+
45787
+ Patch 9.1.0770
45788
+ Problem: current command completion is a bit limited
45789
+ Solution: Add the shellcmdline completion type and getmdcomplpat()
45790
+ function (Ruslan Russkikh).
45791
+
45792
+ Patch 9.1.0771
45793
+ Problem: Currently completion attribute hl_group is combined with
45794
+ all items, which is redundant and confusing with kind_hlgroup
45795
+ Solution: Renamed to abbr_hlgroup and combine it only with the abbr item
45796
+ (glepnir).
45797
+
45798
+ Patch 9.1.0772
45799
+ Problem: some missing changes from v9.1.0771
45800
+ Solution: Use correct highlighting attribute and adjust comments (glepnir).
45801
+
45802
+ Patch 9.1.0773
45803
+ Problem: filetype: some Apache files are not recognized
45804
+ Solution: Detect more config files from the Apache source
45805
+ distribution as filetype apache (nisbet-hubbard)
45806
+
45807
+ Patch 9.1.0774
45808
+ Problem: "shellcmdline" doesn't work with getcompletion().
45809
+ Solution: Use set_context_for_wildcard_arg() (zeertzjq).
45810
+
45811
+ Patch 9.1.0775
45812
+ Problem: tests: not enough tests for setting options
45813
+ Solution: Add more comprehensive tests to test_options (Milly).
45814
+
45815
+ Patch 9.1.0776
45816
+ Problem: test_strftime may fail because of missing TZ data
45817
+ Solution: Use GMT offsets to validate timezone differences (James McCoy).
45818
+
45819
+ Patch 9.1.0777
45820
+ Problem: filetype: Some upstream php files are not recognized
45821
+ Solution: Detect more config files from the PHP source
45822
+ distribution as filetype ini (nisbet-hubbard).
45823
+
45824
+ Patch 9.1.0778
45825
+ Problem: filetype: lf config files are not recognized
45826
+ Solution: Detect lfrc files as lf filetype, include a syntax
45827
+ script for lf files (Andis Spriņķis).
45828
+
45829
+ Patch 9.1.0779
45830
+ Problem: filetype: neomuttlog files are not recognized
45831
+ Solution: Detect '*.neomuttdebug' file as neomuttlog filetype,
45832
+ include neomuttlog syntax script (Richard Russon).
45833
+
45834
+ Patch 9.1.0780
45835
+ Problem: MS-Windows: incorrect Win32 error checking
45836
+ Solution: Fix wrong order of error handling and perform
45837
+ some minor refactoring (Nir Lichtman).
45838
+
45839
+ Patch 9.1.0781
45840
+ Problem: tests: test_filetype fails (clason) (after v9.1.0779).
45841
+ Solution: Use correct filename for neomuttlog filetype.
45842
+
45843
+ Patch 9.1.0782
45844
+ Problem: tests: using wrong neomuttlog file name
45845
+ Solution: Use correct file name.
45846
+
45847
+ Patch 9.1.0783
45848
+ Problem: 'spell' option setting has problems
45849
+ Solution: correctly check for comma for 'spellfile' option,
45850
+ remove unnecessary checks, refactor slightly (Milly)
45851
+
45852
+ Patch 9.1.0784
45853
+ Problem: there are several problems with python 3.13
45854
+ Solution: Fix the problems in the python3 interface (Boris Staletic)
45855
+
45856
+ Patch 9.1.0785
45857
+ Problem: cannot preserve error position when setting quickfix lists
45858
+ Solution: Add the 'u' action for setqflist()/setloclist() and try
45859
+ to keep the closes target position (Jeremy Fleischman).
45860
+
45861
+ Patch 9.1.0786
45862
+ Problem: tests: quickfix update test does not test location list
45863
+ (after: v9.1.0.785)
45864
+ Solution: Update Test_quickfix_buffer_contents to test with location
45865
+ lists (Yegappan Lakshmanan).
45866
+
45867
+ Patch 9.1.0787
45868
+ Problem: cursor position changed when using hidden terminal
45869
+ and BufFilePost autocommand (Mizuno Jan Yuta)
45870
+ Solution: Save and restore cursor position.
45871
+
45872
+ Patch 9.1.0788
45873
+ Problem: <CSI>27;<mod>u is not decoded to literal Escape in kitty/foot
45874
+ Solution: Disable XTerm modifyOtherKeys form 1 when the kitty protocol is enabled
45875
+ (Christian Fillion)
45876
+
45877
+ Patch 9.1.0789
45878
+ Problem: tests: ':resize + 5' has invalid space after '+'
45879
+ Solution: Correct the test (Milly).
45880
+
45881
+ Patch 9.1.0790
45882
+ Problem: Amiga: AmigaOS4 build should use default runtime (newlib)
45883
+ Solution: Remove clib2 from compiler / linker flags (Ola Söder).
45884
+
45885
+ Patch 9.1.0791
45886
+ Problem: tests: errors in gen_opt_test.vim are not shown
45887
+ Solution: update gen_opt_test.vim and write test.log,
45888
+ let the makefile output test.log (Milly).
45889
+
45890
+ Patch 9.1.0792
45891
+ Problem: tests: Test_set_values() is not comprehensive enough
45892
+ Solution: Add a lot more test cases (Milly).
45893
+
45894
+ Patch 9.1.0793
45895
+ Problem: xxd: -e does add one extra space
45896
+ Solution: fix it, refactor and merge some code (Aapo Rantalainen).
45897
+
45898
+ Patch 9.1.0794
45899
+ Problem: tests: tests may fail on Windows environment
45900
+ Solution: Use shellcmdflag=/D to skip executing autorun from the registry
45901
+ (Milly).
45902
+
45903
+ Patch 9.1.0795
45904
+ Problem: filetype: Vivado memory info file are not recognized
45905
+ Solution: Detect '*.mmi' memory info file as xml filetype (Wu, Zhenyu).
45906
+
45907
+ Patch 9.1.0796
45908
+ Problem: filetype: libtool files are not recognized
45909
+ Solution: Detect '*.{lo,la,lai}' as sh filetype (Wu, Zhenyu).
45910
+
45911
+ Patch 9.1.0797
45912
+ Problem: testing of options can be further improved
45913
+ Solution: Split the generated option test into test_options_all.vim,
45914
+ add more test cases, save and restore values, fix use-after-free.
45915
+
45916
+ Patch 9.1.0798
45917
+ Problem: too many strlen() calls in cmdhist.c
45918
+ Solution: Refactor code and remove strlen() calls (John Marriott).
45919
+
45920
+ Patch 9.1.0799
45921
+ Problem: tests: gettwinvar()/gettabwinvar() tests are not comprehensive
45922
+ Solution: Add more tests (Milly).
45923
+
45924
+ Patch 9.1.0800
45925
+ Problem: tests: no error check when setting global 'termwinsize'
45926
+ Solution: Also validate when using setglobal (Milly).
45927
+
45928
+ Patch 9.1.0801
45929
+ Problem: tests: no error check when setting global 'termwinkey'
45930
+ Solution: Also validate when using setglobal (Milly).
45931
+
45932
+ Patch 9.1.0802
45933
+ Problem: tests: no error check when setting global 'fdm' to empty value
45934
+ Solution: Also check global 'fdm' value for being empty (Milly).
45935
+
45936
+ Patch 9.1.0803
45937
+ Problem: tests: no error check when setting global 'isk'
45938
+ Solution: Also parse and check global 'isk' value (Milly).
45939
+
45940
+ Patch 9.1.0804
45941
+ Problem: tests: no error check when setting global 'cc'
45942
+ Solution: Also parse and check global 'cc' value (Milly).
45943
+
45944
+ Patch 9.1.0805
45945
+ Problem: tests: minor issues in gen_opt_test.vim
45946
+ Solution: Fix restore value for 'undolevels', fix comment, fix
45947
+ wrong cpo value, add equality test for global-local options on
45948
+ switchback (Milly).
45949
+
45950
+ Patch 9.1.0806
45951
+ Problem: tests: no error check when setting global 'briopt'
45952
+ Solution: Also parse and check global 'briopt' value (Milly).
45953
+
45954
+ Patch 9.1.0807
45955
+ Problem: tests: having 'nolist' in modelines isn't always desired
45956
+ Solution: Remove 'nolist' from modeline (zeertzjq).
45957
+
45958
+ Patch 9.1.0808
45959
+ Problem: Terminal scrollback doesn't shrink when reducing
45960
+ 'termwinscroll'
45961
+ Solution: Check if option value was decreased (Milly).
45962
+
45963
+ Patch 9.1.0809
45964
+ Problem: filetype: petalinux config files not recognized
45965
+ Solution: Detect 'project-spec/*.conf' files as bitbake filetype (Wu, Zhenyu).
45966
+
45967
+ Patch 9.1.0810
45968
+ Problem: cannot easily adjust the |:find| command
45969
+ Solution: Add support for the 'findexpr' option (Yegappan Lakshmanan).
45970
+
45971
+ Patch 9.1.0811
45972
+ Problem: :find expansion does not consider 'findexpr'
45973
+ Solution: Support expanding :find command argument using 'findexpr'
45974
+ (Yegappan Lakshmanan).
45975
+
45976
+ Patch 9.1.0812
45977
+ Problem: Coverity warns about dereferencing NULL ptr in check_colorcolumn()
45978
+ Solution: Verify that wp is not null before accessing it.
45979
+
45980
+ Patch 9.1.0813
45981
+ Problem: no error handling with setglobal and number types
45982
+ Solution: Validate values when using :setglobal with number option types
45983
+ (Milly).
45984
+
45985
+ Patch 9.1.0814
45986
+ Problem: mapset() may remove unrelated mapping whose {rhs} matches the
45987
+ restored mapping's {lhs}.
45988
+ Solution: Only match by {lhs} when unmapping for mapset() (zeertzjq).
45989
+
45990
+ Patch 9.1.0815
45991
+ Problem: "above" virtual text causes wrong 'colorcolumn' position (@matrdr)
45992
+ Solution: Use the number of cells instead of bytes for vcol_off_tp
45993
+ (zeertzjq).
45994
+
45995
+ Patch 9.1.0816
45996
+ Problem: tests: not clear what tests cause asan failures
45997
+ Solution: Append testname to $ASAN_OPTIONS.
45998
+
45999
+ Patch 9.1.0817
46000
+ Problem: termdebug: cannot evaluate expr in a popup
46001
+ Solution: Enhance termdebug plugin and allow to evaluate expressions in
46002
+ a popup window, add a unit test (Peter Wolf).
46003
+
46004
+ Patch 9.1.0818
46005
+ Problem: some global functions are only used in single files
46006
+ Solution: Refactor code slightly and make some more functions static
46007
+ (Yegappan Lakshmanan).
46008
+
46009
+ Patch 9.1.0819
46010
+ Problem: tests: need a test for findexpr and vim9 imported func
46011
+ Solution: Add a test for 'findexpr' and Vim9 imported script
46012
+ (Yegappan Lakshmanan)
46013
+
46014
+ Patch 9.1.0820
46015
+ Problem: tests: Mac OS tests are too flaky
46016
+ Solution: Increase max test timeout to 25 minutes, allow up to 10 retries on
46017
+ Mac OS runners, refactor runtest.vim (Milly).
46018
+
46019
+ Patch 9.1.0821
46020
+ Problem: 'findexpr' completion doesn't set v:fname to cmdline argument.
46021
+ Solution: Set v:fname to the cmdline argument as-is (zeertzjq).
46022
+
46023
+ Patch 9.1.0822
46024
+ Problem: topline might be changed in diff mode unexpectedly (Jaehwang Jung)
46025
+ Solution: Do not re-calculate topline, when using line() func in diff mode.
46026
+
46027
+ Patch 9.1.0823
46028
+ Problem: filetype: Zephyr overlay files not recognized
46029
+ Solution: Detect '*.overlay' files as dts filetype, include syntax tests for
46030
+ DTS files (Xudong Zheng).
46031
+
46032
+ Patch 9.1.0824
46033
+ Problem: too many strlen() calls in register.c
46034
+ Solution: Refactor code, add string_T struct to keep track of string lengths
46035
+ (John Marriott).
46036
+
46037
+ Patch 9.1.0825
46038
+ Problem: compile error for non-diff builds (after v9.1.0822)
46039
+ Solution: Add #ifdef FEAT_DIFF (John Marriott).
46040
+
46041
+ Patch 9.1.0826
46042
+ Problem: filetype: sway files are not recognized
46043
+ Solution: Detect '*.sw' files as sway filetype, include a filetype plugin
46044
+ (Riley Bruins).
46045
+
46046
+ Patch 9.1.0827
46047
+ Problem: CI: tests can be improved
46048
+ Solution: Collect failed indent tests, raise timeout for search()
46049
+ functions when using ASAN/Valgrind (Aliaksei Budavei).
46050
+
46051
+ Patch 9.1.0828
46052
+ Problem: string_T struct could be used more often
46053
+ Solution: Refactor code and make use of string_T struct for key-value pairs,
46054
+ reformat overlong lines (John Marriott).
46055
+
46056
+ Patch 9.1.0829
46057
+ Problem: Vim source code uses a mix of tabs and spaces
46058
+ Solution: Expand tabs in sound.c, this is an experiment (Luca Saccarola).
46059
+
46060
+ Patch 9.1.0830
46061
+ Problem: using wrong highlight group for spaces for popupmenu
46062
+ Solution: Use original attribute instead of combined attributed (glepnir).
46063
+
46064
+ Patch 9.1.0831
46065
+ Problem: 'findexpr' can't be used for lambads (Justin Keyes)
46066
+ Solution: Replace the findexpr option with the findfunc option
46067
+ (Yegappan Lakshmanan).
46068
+
46069
+ Patch 9.1.0832
46070
+ Problem: :set doesn't work for 'cot' and 'bkc' after :setlocal.
46071
+ Solution: Clear the local flags when using :set (zeertzjq).
46072
+
46073
+ Patch 9.1.0833
46074
+ Problem: CI: recent ASAN changes do not work for indent tests
46075
+ Solution: Move code to runtime/indent/testdir/runtest.vim (Aliaksei Budavei).
46076
+
46077
+ Patch 9.1.0834
46078
+ Problem: tests: 2html test fails (after b256221e8377)
46079
+ Solution: Adjust testdir/samples/Test_tohtml_basic.c.html (Aliaksei Budavei).
46080
+
46081
+ Patch 9.1.0835
46082
+ Problem: :setglobal doesn't work properly for 'ffu' and 'tsrfu' when
46083
+ the local value is set (after v9.1.0831)
46084
+ Solution: Check os_flags instead of buffer option variable (zeertzjq).
46085
+
46086
+ Patch 9.1.0836
46087
+ Problem: the vimtutor can be improved
46088
+ Solution: Port and include the interactive vimtutor plugin from Neovim
46089
+ (by Felipe Morales) (Yegappan Lakshmanan).
46090
+
46091
+ Patch 9.1.0837
46092
+ Problem: Cross-compiling to good modern operating systems is difficult as
46093
+ configure assumes obscure bugs are present by default. However,
46094
+ most core autoconf-based packages today assume features work
46095
+ when in doubt, making cross-compilation easier.
46096
+ Solution: Assume features work by default and continue to issue a warning
46097
+ with the appropriate cache variable. This solution shifts the
46098
+ burden onto the users of rare buggy operating systems and
46099
+ makes cross-compilation work out of the box for everyone else.
46100
+
46101
+ Patch 9.1.0838
46102
+ Problem: vimtutor is bash-specific (after 17c71daf83f45c3ee8)
46103
+ Solution: Port back to POSIX sh (Aliaksei Budavei).
46104
+
46105
+ Patch 9.1.0839
46106
+ Problem: filetype: leo files are not recognized
46107
+ Solution: Detect '*.leo' files as leo filetype, include a filetype plugin
46108
+ (Riley Bruins)
46109
+
46110
+ Patch 9.1.0840
46111
+ Problem: filetype: idris2 files are not recognized
46112
+ Solution: Detect '*.idr' files as idris2, '*.lidr' files as lidris2
46113
+ and '*.ipkg' files as ipkg filetype (Serhii Khoma)
46114
+
46115
+ Patch 9.1.0841
46116
+ Problem: tests: still preferring python2 over python3
46117
+ Solution: Prefer Python 3 when picking a Python program in Vim tests,
46118
+ by checking for the more specific python version first and
46119
+ only when python3 not found, check for the python binary
46120
+ (Yee Cheng Chin).
46121
+
46122
+ Patch 9.1.0842
46123
+ Problem: not checking for the sync() systemcall
46124
+ Solution: Check for sync in configure script, fix related #ifdefs
46125
+ (Jonas Termansen).
46126
+
46127
+ Patch 9.1.0843
46128
+ Problem: too many strlen() calls in undo.c
46129
+ Solution: Refactor code and remove strlen() calls, update test_undo.vim
46130
+ and close remaining open swap files (John Marriott).
46131
+
46132
+ Patch 9.1.0844
46133
+ Problem: if_python: no way to pass local vars to python
46134
+ Solution: Add locals argument to py3eval(), pyeval() and pyxeval()
46135
+ (Ben Jackson).
46136
+
46137
+ Patch 9.1.0845
46138
+ Problem: vimtutor shell script can be improved
46139
+ Solution: Further improve the vimtutor shell script (Aliaksei Budavei).
46140
+
46141
+ Patch 9.1.0846
46142
+ Problem: debug symbols for xxd are not cleaned in Makefile
46143
+ Solution: Remove xxd.dSYM in xxds Makefile, call xxd clean target from
46144
+ main Makefile (Yee Cheng Chin)
46145
+
46146
+ Patch 9.1.0847
46147
+ Problem: tests: test_popupwin fails because of updated main help file
46148
+ Solution: Normalize Last Change header in test_popup_setbuf screendumps
46149
+
46150
+ Patch 9.1.0848
46151
+ Problem: if_lua: v:false/v:true are not evaluated to boolean
46152
+ Solution: Use lua_pushboolean() instead of lua_pushinteger() (zeertzjq).
46153
+
46154
+ Patch 9.1.0849
46155
+ Problem: there are a few typos in the source.
46156
+ Solution: Correct typos (zeertzjq).
46157
+
46158
+ Patch 9.1.0850
46159
+ Problem: Vim9: cannot access nested object inside objects
46160
+ (lifepillar, 91khr, mawkish)
46161
+ Solution: Add support for accessing an object member using a "any"
46162
+ variable type (Yegappan Lakshmanan).
46163
+
46164
+ Patch 9.1.0851
46165
+ Problem: too many strlen() calls in getchar.c
46166
+ Solution: Refactor code and reduce strlen() calls (John Marriott).
46167
+
46168
+ Patch 9.1.0852
46169
+ Problem: No warning when X11 registers are not available (delvh)
46170
+ Solution: Output W23 once when connection to X11 clipboard/selection
46171
+ is not possible, mention in the documentation, that register 0
46172
+ will be used instead.
46173
+
46174
+ Patch 9.1.0853
46175
+ Problem: filetype: kubernetes config file not recognized
46176
+ Solution: Detect '/.kube/config' file as yaml filetype (Jonathan Lopez).
46177
+
46178
+ Patch 9.1.0854
46179
+ Problem: cannot get terminal cell size
46180
+ Solution: Add getcellpixels() function to return xpixel * ypixel
46181
+ cell size on terminal Unix (mikoto2000).
46182
+
46183
+ Patch 9.1.0855
46184
+ Problem: setting 'cmdheight' may cause hit-enter-prompt and echo output
46185
+ to be missing
46186
+ Solution: Before cleaning the cmdline, check the need_wait_return flag
46187
+ (nwounkn).
46188
+
46189
+ Patch 9.1.0856
46190
+ Problem: mouseshape might be wrong on r and gr
46191
+ Solution: Call update_mousesape(-1) immediately (Yee Cheng Chin).
46192
+
46193
+ Patch 9.1.0857
46194
+ Problem: xxd: --- is incorrectly recognized as end-of-options
46195
+ Solution: improve xxds end-of-option parser (DungSaga).
46196
+
46197
+ Patch 9.1.0858
46198
+ Problem: Coverity complains about dead code (after v9.1.0852)
46199
+ Solution: adjust #ifdef FEAT_CLIPBOARD.
46200
+
46201
+ Patch 9.1.0859
46202
+ Problem: several problems with the GLVS plugin
46203
+ Solution: fix issues, add regression tests, require at least Vim 9.1
46204
+ (GuyBrush)
46205
+
46206
+ Patch 9.1.0860
46207
+ Problem: tests: mouse_shape tests use hard code sleep value (Bram Moolenaar)
46208
+ Solution: Use WaitForAssert() instead (Yee Cheng Chin).
46209
+
46210
+ Patch 9.1.0861
46211
+ Problem: Vim9: no runtime check for object member access of any var
46212
+ (after: 9.1.0850)
46213
+ Solution: Add runtime type compatibility check for object member
46214
+ accessed using a any variable (Yegappan Lakshmanan).
46215
+
46216
+ Patch 9.1.0862
46217
+ Problem: 'wildmenu' not enabled by default in nocp mode
46218
+ Solution: Promote the default Vim value to true, it has been enabled
46219
+ in defaults.vim anyhow, so remove it there (Luca Saccarola).
46220
+
46221
+ Patch 9.1.0863
46222
+ Problem: getcellpixels() can be further improved
46223
+ Solution: Improve it further, add more tests (mikoto2000).
46224
+
46225
+ Patch 9.1.0864
46226
+ Problem: message history is fixed to 200
46227
+ Solution: Add the 'msghistory' option, increase the default value to 500
46228
+ (Shougo Matsushita).
46229
+
46230
+ Patch 9.1.0865
46231
+ Problem: filetype: org files are not recognized
46232
+ Solution: Detect '*.org' files as 'org' filetype,
46233
+ include filetype and syntax plugin (Luca Saccarola).
46234
+
46235
+ Patch 9.1.0866
46236
+ Problem: filetype: LLVM IR files are not recognized
46237
+ Solution: Detect '*.ll' files either as lifelines or llvm filetype
46238
+ (Wu, Zhenyu).
46239
+
46240
+ Patch 9.1.0867
46241
+ Problem: ins_compl_add() has too many args
46242
+ Solution: Refactor it and use an int array instead of 2 separate int
46243
+ args (glepnir).
46244
+
46245
+ Patch 9.1.0868
46246
+ Problem: the warning about missing clipboard can be improved
46247
+ (after v9.1.0852)
46248
+ Solution: Use different warnings depending on whether or not clipboard
46249
+ support is included in Vim, update related documentation
46250
+
46251
+ Patch 9.1.0869
46252
+ Problem: curswant not set on gm in folded line (citizenmatt)
46253
+ Solution: In a folded line, call update_curswant_force().
46254
+
46255
+ Patch 9.1.0870
46256
+ Problem: too many strlen() calls in eval.c
46257
+ Solution: Refactor eval.c to remove calls to STRLEN() (John Marriott).
46258
+
46259
+ Patch 9.1.0871
46260
+ Problem: getcellpixels() can be further improved
46261
+ Solution: Fix floating point exception, implement getcellpixels() in the
46262
+ UI (mikoto2000).
46263
+
46264
+ Patch 9.1.0872
46265
+ Problem: No test for W23 message (after v9.1.0868)
46266
+ Solution: Check for W23 message when accessing the clipboard fails.
46267
+
46268
+ Patch 9.1.0873
46269
+ Problem: filetype: Vivado files are not recognized
46270
+ Solution: Detect '*.mss' files as 'mss' filetype (Wu, Zhenyu).
46271
+
46272
+ Patch 9.1.0874
46273
+ Problem: filetype: karel files are not detected
46274
+ Solution: Detect '*.kl' files as karel filetype, include syntax and filetype
46275
+ plugin (Kirill Morozov).
46276
+
46277
+ Patch 9.1.0875
46278
+ Problem: filetype: hyprlang detection can be improved
46279
+ Solution: Detect '/hypr/*.conf' files as hyprlang filetype,
46280
+ include basic syntax highlighting (Luca Saccarola).
46281
+
46282
+ Patch 9.1.0876
46283
+ Problem: filetype: openCL files are not recognized
46284
+ Solution: Detect '*.cl' files as opencl or lisp filetype,
46285
+ include a opencl syntax and filetype plugin (Wu, Zhenyu).
46286
+
46287
+ Patch 9.1.0877
46288
+ Problem: tests: missing test for termdebug + decimal signs
46289
+ Solution: Add a termdebug test (Ubaldo Tiberi).
46290
+
46291
+ Patch 9.1.0878
46292
+ Problem: termdebug: cannot enable DEBUG mode
46293
+ Solution: Allow to specify DEBUG mode (Ubaldo Tiberi).
46294
+
46295
+ Patch 9.1.0879
46296
+ Problem: source is not consistently formatted
46297
+ Solution: Reformat sign.c and sound.c (Luca Saccarola).
46298
+
46299
+ Patch 9.1.0880
46300
+ Problem: filetype: C3 files are not recognized
46301
+ Solution: Detect '*.c3*' files as c3 filetype (Turiiya).
46302
+
46303
+ Patch 9.1.0881
46304
+ Problem: GUI: message dialog may not get focus
46305
+ Solution: Add window manager hint to give focus to the dialog (Chris White).
46306
+
46307
+ Patch 9.1.0882
46308
+ Problem: too many strlen() calls in insexpand.c
46309
+ Solution: Refactor insexpand.c and reduce number of calls to STRLEN(),
46310
+ fix a warning get_next_filename_completion(), add new function
46311
+ ins_compl_leader_len() (John Marriott).
46312
+
46313
+ Patch 9.1.0883
46314
+ Problem: message history cleanup is missing some tests
46315
+ Solution: Add tests, refactor common code into did_set_msghistory()
46316
+ (Shougo Matsushita).
46317
+
46318
+ Patch 9.1.0884
46319
+ Problem: gcc warns about uninitialized variable in vim_strnicmp_asc()
46320
+ Solution: Initialize variable to 1 (John Marriott).
46321
+
46322
+ Patch 9.1.0885
46323
+ Problem: style of sign.c can be improved
46324
+ Solution: Refactor code (Luca Saccarola).
46325
+
46326
+ Patch 9.1.0886
46327
+ Problem: filetype: debian control file not detected
46328
+ Solution: Detect 'debian/control' files as debcontrol filetype.
46329
+
46330
+ Patch 9.1.0887
46331
+ Problem: Wrong expression in sign.c (after v9.1.0885)
46332
+ Solution: Remove the duplicate expression.
46333
+
46334
+ Patch 9.1.0888
46335
+ Problem: leftcol property not available in getwininfo()
46336
+ Solution: Add leftcol property property (glepnir).
46337
+
46338
+ Patch 9.1.0889
46339
+ Problem: Possible unnecessary redraw after adding/deleting lines.
46340
+ Solution: Check b_mod_set before using b_mod_xlines to avoid using stale
46341
+ b_mod_xlines value (zeertzjq).
46342
+
46343
+ Patch 9.1.0890
46344
+ Problem: %! item not allowed for 'rulerformat' (yatinlala)
46345
+ Solution: Also allow to use %! for rulerformat option
46346
+ (Yegappan Lakshmanan).
46347
+
46348
+ Patch 9.1.0891
46349
+ Problem: building the completion list array is inefficient
46350
+ Solution: Refactor and improve ins_compl_build_pum() func (glepnir).
46351
+
46352
+ Patch 9.1.0892
46353
+ Problem: the max value of 'tabheight' is limited by other tabpages
46354
+ Solution: Limit the maximum value of 'cmdheight' to the current tabpage only.
46355
+ (Milly)
46356
+
46357
+ Patch 9.1.0893
46358
+ Problem: No test that undofile format does not regress
46359
+ Solution: Include a sample undofile to make sure we are always able to
46360
+ read it.
46361
+
46362
+ Patch 9.1.0894
46363
+ Problem: No test for what the spotbug compiler parses
46364
+ Solution: Test &makeprg for the SpotBugs compiler plugin (Aliaksei Budavei).
46365
+
46366
+ Patch 9.1.0895
46367
+ Problem: default history value is too small
46368
+ Solution: Promote the change from defaults.vim back to the C core, so increase
46369
+ the default 'history' option value from 50 to 200 (Lucca Saccarola)
46370
+
46371
+ Patch 9.1.0896
46372
+ Problem: completion list wrong after v9.1.0891
46373
+ Solution: Update compl_mach_array after leader change (glepnir).
46374
+
46375
+ Patch 9.1.0897
46376
+ Problem: filetype: pyrex files are not detected
46377
+ Solution: Detect '*.pxi' and '*.pyx+' as pyrex filetype (user202729).
46378
+
46379
+ Patch 9.1.0898
46380
+ Problem: runtime(compiler): pytest compiler not included
46381
+ Solution: Include pytest compiler, update the compiler completion test
46382
+ (Konfekt).
46383
+
46384
+ Patch 9.1.0899
46385
+ Problem: default for 'backspace' can be set in C code
46386
+ Solution: Promote the default for 'backspace' from defaults.vim to the C
46387
+ code (Luca Saccarola).
46388
+
46389
+ Patch 9.1.0900
46390
+ Problem: Vim9: digraph_getlist() does not accept bool argument (Maxim Kim)
46391
+ Solution: Accept boolean as first argument (Yegappan Lakshmanan).
46392
+
46393
+ Patch 9.1.0901
46394
+ Problem: MS-Windows: vimtutor batch script can be improved
46395
+ Solution: Update vimtutor.bat, validate languages using Powershell
46396
+ cultureinfo (RestorerZ).
46397
+
46398
+ Patch 9.1.0902
46399
+ Problem: filetype: Conda configuration files are not recognized
46400
+ Solution: Detect '.condarc' and 'condarc' files as yaml filetype (zeertzjq).
46401
+
46402
+ Patch 9.1.0903
46403
+ Problem: potential overflow in spell_soundfold_wsal()
46404
+ Solution: Protect wres from buffer overflow, by checking the length
46405
+ (Zdenek Dohnal)
46406
+
46407
+ Patch 9.1.0904
46408
+ Problem: Vim9: copy-paste error in class_defining_member()
46409
+ Solution: Use variable type VAR_CLASS instead (Zdenek Dohnal).
46410
+
46411
+ Patch 9.1.0905
46412
+ Problem: Missing information in CompleteDone event
46413
+ Solution: Add complete_word and complete_type to v:event dict (glepnir).
46414
+
46415
+ Patch 9.1.0906
46416
+ Problem: filetype: Nvidia PTX files are not recognized
46417
+ Solution: Detect '*.ptx' files as ptx filetype (Yinzuo Jiang).
46418
+
46419
+ Patch 9.1.0907
46420
+ Problem: printoptions:portrait does not change postscript Orientation
46421
+ Solution: Set Orientation depending on portrait suboption.
46422
+
46423
+ Patch 9.1.0908
46424
+ Problem: not possible to configure :messages
46425
+ Solution: Add the 'messagesopt' option (Shougo Matsushita).
46426
+
46427
+ Patch 9.1.0909
46428
+ Problem: Vim9: crash when calling instance method (Igbanam Ogbuluijah)
46429
+ Solution: Pass the object when calling a partial function
46430
+ (Yegappan Lakshmanan).
46431
+
46432
+ Patch 9.1.0910
46433
+ Problem: 'messagesopt' does not check max wait time (after v9.1.0908)
46434
+ Solution: Check for max wait value (Shougo Matsushita).
46435
+
46436
+ Patch 9.1.0911
46437
+ Problem: Variable name for 'messagesopt' doesn't match short name
46438
+ (after v9.1.0908)
46439
+ Solution: Change p_meo to p_mopt. Add more details to docs (zeertzjq).
46440
+
46441
+ Patch 9.1.0912
46442
+ Problem: xxd: integer overflow with sparse files and -autoskip
46443
+ Solution: Reset zero_seen when at the limit, change the type to char
46444
+ (sendittothenewts).
46445
+
46446
+ Patch 9.1.0913
46447
+ Problem: no error check for neg values for 'messagesopt' (after v9.1.0908).
46448
+ Solution: Add additional error checks and tests (h-east).
46449
+
46450
+ Patch 9.1.0914
46451
+ Problem: Vim9: compile_assignment() is too long
46452
+ Solution: Refactor compile_assignment() into smaller functions
46453
+ (Yegappan Lakshmanan)
46454
+
46455
+ Patch 9.1.0915
46456
+ Problem: GVim: default font size a bit too small
46457
+ Solution: Increase guifont size to 12 pt on GTK builds of gVim (matveyt).
46458
+
46459
+ Patch 9.1.0916
46460
+ Problem: messages.c is exceeding 80 columns
46461
+ Solution: Slightly reformat messages.c (h-east).
46462
+
46463
+ Patch 9.1.0917
46464
+ Problem: various vartabstop and shiftround bugs when shifting lines
46465
+ Solution: Fix the bugs, add new tests for shifting lines in various ways
46466
+ (Gary Johnson).
46467
+
46468
+ Patch 9.1.0918
46469
+ Problem: tiny Vim crashes with fuzzy buffer completion
46470
+ Solution: Adjust #ifdefs in ExpandBufnames() (826814741_6).
46471
+
46472
+ Patch 9.1.0919
46473
+ Problem: filetype: some assembler are files not recognized
46474
+ Solution: Detect '*.nasm' files as nasm filetype and '*.masm' as masm
46475
+ filetype (Wu, Zhenyu).
46476
+
46477
+ Patch 9.1.0920
46478
+ Problem: Vim9: compile_assignment() too long
46479
+ Solution: Refactor compile_assignment() function and split up into
46480
+ smaller parts (Yegappan Lakshmanan).
46481
+
46482
+ Patch 9.1.0921
46483
+ Problem: popupmenu logic is a bit convoluted
46484
+ Solution: Slightly refactor logic and use MIN/MAX() macros to simplify
46485
+ (glepnir).
46486
+
46487
+ Patch 9.1.0923
46488
+ Problem: wrong MIN macro in popupmenu.c (after v9.1.0921) (zeertzjq)
46489
+ Solution: Change it to MAX().
46490
+
46491
+ Patch 9.1.0923
46492
+ Problem: too many strlen() calls in filepath.c
46493
+ Solution: Refactor filepath.c and remove calls to STRLEN(), unify
46494
+ dos_expandpath() and unix_expandpath() into a single function.
46495
+
46496
+ Patch 9.1.0924
46497
+ Problem: Patch 9.1.0923 causes issues (Shane-XB-Qian)
46498
+ Solution: Back-out the change.
46499
+
46500
+ Patch 9.1.0925
46501
+ Problem: Vim9: expression compiled when not necessary
46502
+ Solution: Do not compile when ctx_skip is set, add a few more
46503
+ Vim9 expressions tests (Yegappan Lakshmanan).
46504
+
46505
+ Patch 9.1.0926
46506
+ Problem: filetype: Pixi lock files are not recognized
46507
+ Solution: Detect "pixi.lock" file as yaml filetype (Brandon Maier).
46508
+
46509
+ Patch 9.1.0927
46510
+ Problem: style issues in insexpand.c
46511
+ Solution: Add braces, use ternary operator to improve style (glepnir).
46512
+
46513
+ Patch 9.1.0928
46514
+ Problem: tests: test_popupwin fails because the filter command fails
46515
+ Solution: Add the "e" flag to the :s command to normalize the
46516
+ screendumps Last Change header so that it doesn't fail on
46517
+ "Pattern not found"
46518
+
46519
+ Patch 9.1.0929
46520
+ Problem: filetype: lalrpop files are not recognized
46521
+ Solution: Detect '*.lalrpop' files as lalrpop filetype (David Thievon)
46522
+
46523
+ Patch 9.1.0930
46524
+ Problem: tests: test_terminal2 may hang in GUI mode
46525
+ Solution: Break the loop in gui_mch_update() after at most 99 iterations
46526
+ (h-east).
46527
+
46528
+ Patch 9.1.0931
46529
+ Problem: ml_get error in terminal buffer (user202729)
46530
+ Solution: Call update_topline() in win_enter_ext() for terminal buffers
46531
+ (h-east).
46532
+
46533
+ Patch 9.1.0932
46534
+ Problem: new Italian tutor not installed
46535
+ Solution: Add Makefile rule, include it into the Filelist
46536
+ ("Philip H." <47042125+pheiduck@users.noreply.github.com>).
46537
+
46538
+ Patch 9.1.0933
46539
+ Problem: Vim9: vim9compile.c can be further improved
46540
+ Solution: Further refactor the compile assignment code
46541
+ (Yegappan Lakshmanan).
46542
+
46543
+ Patch 9.1.0934
46544
+ Problem: hard to view an existing buffer in the preview window
46545
+ Solution: Add the :pbuffer command (Yinzuo Jiang).
46546
+
46547
+ Patch 9.1.0935
46548
+ Problem: SpotBugs compiler can be improved
46549
+ Solution: runtime(compiler): Improve defaults and error handling for
46550
+ SpotBugs; update test_compiler.vim (Aliaksei Budavei).
46551
+
46552
+ Patch 9.1.0936
46553
+ Problem: cannot highlight completed text
46554
+ Solution: (optionally) highlight auto-completed text using the
46555
+ ComplMatchIns highlight group (glepnir).
46556
+
46557
+ Patch 9.1.0937
46558
+ Problem: test_undolist() is flaky
46559
+ Solution: Allow to match one additional optional whitespace char.
46560
+
46561
+ Patch 9.1.0938
46562
+ Problem: exclusive selection not respected when re-selecting block mode
46563
+ (Matt Ellis)
46564
+ Solution: Advance selection by another character when using
46565
+ selection=exclusive and visual block mode
46566
+
46567
+ Patch 9.1.0939
46568
+ Problem: make installtutor fails
46569
+ (Antonio Giovanni Colombo, after v9.1.0932)
46570
+ Solution: Fix Makefile rule.
46571
+
46572
+ Patch 9.1.0940
46573
+ Problem: Wrong cursor shape with "gq" and 'indentexpr' executes :normal
46574
+ Solution: Update cursor and mouse shape after restoring old_State (zeertzjq).
46575
+
46576
+ Patch 9.1.0941
46577
+ Problem: ComplMatchIns doesn't work after multibyte chars (after v9.1.0936).
46578
+ Solution: Use (ptr - line) instead of wlv.col (zeertzjq).
46579
+
46580
+ Patch 9.1.0942
46581
+ Problem: a few typos were found
46582
+ Solution: fix them (zeertzjq).
46583
+
46584
+ Patch 9.1.0943
46585
+ Problem: vim9compile.c can be further improved
46586
+ Solution: Refactor the compile_lhs function (Yegappan Lakshmanan).
46587
+
46588
+ Patch 9.1.0944
46589
+ Problem: tests: test_registers fails when not run under X11
46590
+ Solution: filter out warning message.
46591
+
46592
+ Patch 9.1.0945
46593
+ Problem: ComplMatchIns highlight doesn't end after inserted text.
46594
+ Solution: Handle ComplMatchIns highlight more like search highlight.
46595
+ Fix off-by-one error. Handle deleting text properly (zeertzjq).
46596
+
46597
+ Patch 9.1.0946
46598
+ Problem: cross-compiling fails on osx-arm64
46599
+ Solution: use vim_cv_timer_create_with_lrt() instead of
46600
+ vim_cv_timer_create_works() (Brandon Maier).
46601
+
46602
+ Patch 9.1.0947
46603
+ Problem: Coverity comlains about un-initialized var (after v9.1.0943).
46604
+ Solution: Initialize variable (Yegappan Lakshmanan).
46605
+
46606
+ Patch 9.1.0948
46607
+ Problem: Missing cmdline completion for :pbuffer.
46608
+ Solution: Add cmdline completion for :pbuffer like :buffer (zeertzjq).
46609
+
46610
+ Patch 9.1.0949
46611
+ Problem: popups inconsistently shifted to the left
46612
+ Solution: Always shift non-fixed popups to the left when the
46613
+ text would be truncated (Boris Staletic).
46614
+
46615
+ Patch 9.1.0950
46616
+ Problem: filetype: fennelrc files are not recognized
46617
+ Solution: Detect 'fennelrc' files as fennel filetype (Wu Zhenyu).
46618
+
46619
+ Patch 9.1.0951
46620
+ Problem: filetype: jshell files are not recognized
46621
+ Solution: Detect '*.jsh' files as java filetype (Konfekt).
46622
+
46623
+ Patch 9.1.0952
46624
+ Problem: Vim9: missing type checking for any type assignment (Ernie Rael)
46625
+ Solution: When assigning to a list item, if the type of the LHS item is
46626
+ any, then use the list item type (Yegappan Lakshmanan).
46627
+
46628
+ Patch 9.1.0953
46629
+ Problem: filetype: APKBUILD files not correctly detected
46630
+ Solution: Detect 'APKBUILD' files as apkbuild filetype,
46631
+ include a apkbuild syntax script (which basically
46632
+ just sources the sh.vim syntax file) (Hugo Osvaldo Barrera).
46633
+
46634
+ Patch 9.1.0954
46635
+ Problem: popupmenu.c can be improved
46636
+ Solution: Slightly refactor the logic (glepnir).
46637
+
46638
+ Patch 9.1.0955
46639
+ Problem: Vim9: vim9compile.c can be further improved
46640
+ Solution: Refactor the compile_def_function (Yegappan Lakshmanan).
46641
+
46642
+ Patch 9.1.0956
46643
+ Problem: completion may crash, completion highlight wrong with preview
46644
+ window (after v9.1.0954)
46645
+ Solution: Correctly calculate scroll offset, check for preview window
46646
+ when adding extra highlighting (glepnir).
46647
+
46648
+ Patch 9.1.0957
46649
+ Problem: MS-Windows: conversion warnings
46650
+ Solution: Add explicit type casts (Yegappan Lakshmanan).
46651
+
46652
+ Patch 9.1.0958
46653
+ Problem: filetype: supertux2 config files detected as lisp
46654
+ Solution: Detect supertux2 config files as scheme instead (Wu, Zhenyu).
46655
+
46656
+ Patch 9.1.0959
46657
+ Problem: Coverity complains about type conversion (after v9.1.0957)
46658
+ Solution: Use size_t instead of int for file length (Yegappan Lakshmanan).
46659
+
46660
+ Patch 9.1.0960
46661
+ Problem: filetype: hy history files are not recognized
46662
+ Solution: Detect '*.hy', '.hy-history' files as hy filetype,
46663
+ detect '.lips_repl_history' files are scheme filetype (Wu, Zhenyu).
46664
+
46665
+ Patch 9.1.0961
46666
+ Problem: filetype: TI gel files are not recognized
46667
+ Solution: Detect '*.gel' files as gel filetype, include get filetype and
46668
+ syntax plugins (Wu, Zhenyu).
46669
+
46670
+ Patch 9.1.0962
46671
+ Problem: filetype: bun.lock file is not recognized
46672
+ Solution: Detect 'bun.lock' file as jsonc filetype (Anton Kastritskii).
46673
+
46674
+ Patch 9.1.0963
46675
+ Problem: fuzzy-matching does not prefer full match (Maxim Kim)
46676
+ Solution: Add additional score for a full match (glepnir).
46677
+
46678
+ Patch 9.1.0964
46679
+ Problem: MS-Windows: sed error with MinGW
46680
+ Solution: Use double quotes for sed, update compilation notes
46681
+ (Andrey A Voropaev)
46682
+
46683
+ Patch 9.1.0965
46684
+ Problem: filetype: sh filetype set when detecting the use of bash
46685
+ Solution: When bash is detected, use 'bash' filetype instead (Luca Saccarola).
46686
+
46687
+ Patch 9.1.0966
46688
+ Problem: Vim9: :enum command can be shortened
46689
+ Solution: Prevent shortening of :enum command by adding the EX_WHOLE
46690
+ flag to command definition (h-east).
46691
+
46692
+ Patch 9.1.0967
46693
+ Problem: SpotBugs compiler can be further improved
46694
+ Solution: Introduce event-driven primitives for SpotBugs (Aliaksei Budavei).
46695
+
46696
+ Patch 9.1.0968
46697
+ Problem: tests: GetFileNameChecks() isn't fully sorted by filetype name
46698
+ Solution: Re-sort the list.
46699
+
46700
+ Patch 9.1.0969
46701
+ Problem: ghostty not using kitty protocol by default (00-kat)
46702
+ Solution: Update keyprotocol option default and include ghostty.
46703
+
46704
+ Patch 9.1.0970
46705
+ Problem: VMS: build errors on VMS architecture
46706
+ Solution: Define cellsize struct, use C89 to initialize lval_root_S
46707
+ struct (Zoltan Arpadffy)
46708
+
46709
+ Patch 9.1.0971
46710
+ Problem: filetype: SLNX files are not recognized
46711
+ Solution: Detect '*.slnx' files as xml filetype (Gustav Eikaas).
46712
+
46713
+ Patch 9.1.0972
46714
+ Problem: filetype: TI linker map files are not recognized
46715
+ Solution: Detect TI linker map files as lnkmap filetype (Wu, Zhenyu).
46716
+
46717
+ Patch 9.1.0973
46718
+ Problem: too many strlen() calls in fileio.c
46719
+ Solution: Refactor fileio.c and remove calls to STRLEN(),
46720
+ check for out-of-memory condition in buf_check_timestamp()
46721
+ (John Marriott).
46722
+
46723
+ Patch 9.1.0974
46724
+ Problem: typo in change of (Christ van Willegen)
46725
+ Solution: Add back the square brackets (John Marriott).
46726
+
46727
+ Patch 9.1.0975
46728
+ Problem: Vim9: interpolated string expr not working in object methods
46729
+ (Igbanam Ogbuluijah)
46730
+ Solution: Check the evalarg argument (Yegappan Lakshmanan).
46731
+
46732
+ Patch 9.1.0976
46733
+ Problem: Vim9: missing return statement with throw (atitcreate)
46734
+ Solution: Treat a throw statement at the end of an if-else block as a
46735
+ return statement (Yegappan Lakshmanan).
46736
+
46737
+ Patch 9.1.0977
46738
+ Problem: filetype: msbuild filetypes are not recognized
46739
+ Solution: Detect msbuild files as xml filetype (Gustav Eikaas).
46740
+
46741
+ Patch 9.1.0978
46742
+ Problem: GUI tests sometimes fail when setting 'scroll' options
46743
+ Solution: Decrease the 'scroll' and 'scrolljump' option value from 20 to
46744
+ 15, in case the Gui window is not large enough to handle 20.
46745
+
46746
+ Patch 9.1.0979
46747
+ Problem: VMS: type warning with $XDG_VIMRC_FILE (Zoltan Arpadffy)
46748
+ Solution: Add explicit (char_u *) type cast to mch_getenv() call.
46749
+
46750
+ Patch 9.1.0980
46751
+ Problem: no support for base64 en-/decoding functions in Vim Script
46752
+ (networkhermit)
46753
+ Solution: Add the base64_encode() and base64_decode() functions
46754
+ (Yegappan Lakshmanan).
46755
+
46756
+ Patch 9.1.0981
46757
+ Problem: tests: typo in test_filetype.vim
46758
+ Solution: fix comment, update lnkmap syntax file and add DESCT keyword
46759
+ (Wu, Zhenyu).
46760
+
46761
+ Patch 9.1.0982
46762
+ Problem: TI linker files are not recognized
46763
+ Solution: Inspect '*.cmd' files and detect TI linker files as 'lnk' filetype,
46764
+ include a lnk ftplugin and syntax script (Wu, Zhenyu).
46765
+
46766
+ Patch 9.1.0983
46767
+ Problem: not able to get the displayed items in complete_info()
46768
+ (Evgeni Chasnovski)
46769
+ Solution: Return the visible items via the "matches" key for
46770
+ complete_info() (glepnir).
46771
+
46772
+ Patch 9.1.0984
46773
+ Problem: exception handling can be improved
46774
+ Solution: Add v:stacktrace and getstacktrace().
46775
+
46776
+ Patch 9.1.0985
46777
+ Problem: Vim9: some ex commands can be shortened
46778
+ Solution: Disallow shortening of :abstract, :interface and :type (h-east).
46779
+
46780
+ Patch 9.1.0986
46781
+ Problem: filetype: 'jj' filetype is a bit imprecise
46782
+ Solution: rename 'jj' filetype to 'jjdescription' (Gregory Anders).
46783
+
46784
+ Patch 9.1.0987
46785
+ Problem: filetype: cake files are not recognized
46786
+ Solution: Detect '*.cake' files as cs filetype (Zoe Roux).
46787
+
46788
+ Patch 9.1.0988
46789
+ Problem: Vim9: no error when using uninitialized var in new()
46790
+ (lifepillar, Aliaksei Budavei)
46791
+ Solution: Give an error if an uninitialized object variable is referenced
46792
+ in new() (Yegappan Lakshmanan).
46793
+
46794
+ Patch 9.1.0989
46795
+ Problem: Vim9: Whitespace after the final enum value causes a syntax
46796
+ error
46797
+ Solution: Fix parsing to allow whitespace after the final enum value.
46798
+ (Doug Kearns)
46799
+
46800
+ Patch 9.1.0990
46801
+ Problem: Inconsistent behavior when changing cmdheight by resizing the
46802
+ topframe through wincmds and dragging laststatus. Changing
46803
+ cmdheight by resizing the topframe does not trigger OptionSet.
46804
+ Solution: Consolidate logic for changing the cmdheight, set the option
46805
+ value to handle side-effects (Luuk van Baal).
46806
+
46807
+ Patch 9.1.0991
46808
+ Problem: v:stacktrace has wrong type in Vim9 script.
46809
+ Solution: Change the type to t_list_dict_any. Fix grammar in docs (zeertzjq).
46810
+
46811
+ Patch 9.1.0992
46812
+ Problem: Vim9: double-free after v9.1.0988 (h-east)
46813
+ Solution: Clear typval pointer, before setting the type
46814
+ (Yegappan Lakshmanan)
46815
+
46816
+ Patch 9.1.0993
46817
+ Problem: Although Patch 9.1.0990 fixed a real problem/inconsistency,
46818
+ it also introduced new behavior that may break BWC and/or be
46819
+ unexpected. Before 9.1.0990, window commands could make the
46820
+ topframe smaller (without changing 'cmdheight'; quirk that is
46821
+ now fixed), but did not allow extending the topframe beyond
46822
+ the 'cmdheight' set by the user. After 9.1.0990, the user can
46823
+ reduce the 'cmdheight' below the value they set explicitly,
46824
+ through window commands, which may lead to confusion.
46825
+ (aftere v9.1.0990)
46826
+ Solution: Store the value explicitly set by the user and clamp the
46827
+ 'cmdheight' when resizing the topframe. This also applies to
46828
+ dragging laststatus, which in contrast to window commands
46829
+ _did_ allow reducing the 'cmdheight' to values below the one
46830
+ set by the user. So with this Patch there is still new
46831
+ behavior, but I think in a way that is less surprising.
46832
+ While at it, also fix a Coverity warning, introduced in
46833
+ v9.1.0990 (Luuk van Baal).
46834
+
46835
+ Patch 9.1.0994
46836
+ Problem: Vim9: not able to use comment after opening curly brace
46837
+ (lifepillar)
46838
+ Solution: Allow to use comments after curly braces of an inner-block,
46839
+ modify the logic to search for comment in a line, update Vim9
46840
+ tests to use specific class type instead of any
46841
+ (Yegappan Lakshmanan).
46842
+
46843
+ Patch 9.1.0995
46844
+ Problem: filetype: shaderslang files are not detected
46845
+ Solution: Detect '*.slang' files as shaderslang filetype,
46846
+ include a filetype and syntax script (mtvare6)
46847
+
46848
+ Patch 9.1.0996
46849
+ Problem: ComplMatchIns may highlight wrong text
46850
+ Solution: Don't highlight in case of fuzzy match,
46851
+ skip-highlight when not inserting anything (glepnir).
46852
+
46853
+ Patch 9.1.0997
46854
+ Problem: too many strlen() calls in drawscreen.c
46855
+ Solution: Refactor drawscreen.c and remove calls to strlen(),
46856
+ make get_keymap_str() (in screen.c) return string length
46857
+ instead of TRUE/FALSE (John Marriott).
46858
+
46859
+ Patch 9.1.0998
46860
+ Problem: filetype: TI assembly files are not recognized
46861
+ Solution: Inspect '*.sa' and assembly files and detect TI assembly
46862
+ files, include filetype plugin and syntax script for TI
46863
+ assembly files (Wu, Zhenyu).
46864
+
46865
+ Patch 9.1.0999
46866
+ Problem: leaking finished exception (after v9.1.0984)
46867
+ Solution: Use finish_exception to clean up caught exceptions
46868
+ (Yee Cheng Chin)
46869
+
46870
+ Patch 9.1.1000
46871
+ Problem: tests: ruby tests fail with Ruby 3.4
46872
+ Solution: Adjust expected output for Ruby 3.4 (Yee Cheng Chin)
46873
+
46874
+ Patch 9.1.1001
46875
+ Problem: ComplMatchIns highlight hard to read on light background
46876
+ (after v9.1.0996)
46877
+ Solution: Define the highlighting group cleared, it should be configured in
46878
+ colorschemes separately (glepnir).
46879
+
46880
+ Patch 9.1.1002
46881
+ Problem: Vim9: unknown function error with interface declaring a
46882
+ function variable (lifepillar)
46883
+ Solution: Use correct instruction for getting interface member variables
46884
+ (Yegappan Lakshmanan)
46885
+
46886
+ Patch 9.1.1003
46887
+ Problem: [security]: heap-buffer-overflow with visual mode when
46888
+ using :all, causing Vim trying to access beyond end-of-line
46889
+ (gandalf)
46890
+ Solution: Reset visual mode on :all, validate position in gchar_pos()
46891
+ and charwise_block_prep().
46892
+
46893
+ Patch 9.1.1004
46894
+ Problem: tests: a few termdebug tests are flaky; test_termdebug_basic()
46895
+ and test_termdebug_config_types() may fail if there is too
46896
+ much load
46897
+ Solution: Set g:test_is_flaky.
46898
+
46899
+ Patch 9.1.1005
46900
+ Problem: completion text is highlighted even with no pattern found
46901
+ Solution: use ins_compl_leader_len() instead of checking
46902
+ compl_leader.length (glepnir).
46903
+
46904
+ Patch 9.1.1006
46905
+ Problem: PmenuMatch completion highlight can be combined
46906
+ Solution: Combine highlight groups PmenuMatch with Pmenu and
46907
+ PmenuMatchSel with PmenuSel (glepnir).
46908
+
46909
+ Patch 9.1.1007
46910
+ Problem: filetype: various ignore are not recognized
46911
+ Solution: Detect rg/docker/npm/vvsce ignore files as 'gitgnore' filetype
46912
+ (Wu, Zhenyu).
46913
+
46914
+ Patch 9.1.1008
46915
+ Problem: tests: test for Patch 9.1.1006 doesn't fail without the patch
46916
+ (after v9.1.1006)
46917
+ Solution: Add ctermbg=NONE to the highlight groups (zeertzjq).
46918
+
46919
+ Patch 9.1.1009
46920
+ Problem: diff feature can be improved
46921
+ Solution: Include the linematch diff alignment algorithm (Jonathon).
46922
+
46923
+ Patch 9.1.1010
46924
+ Problem: filetype: VisualCode setting file not recognized
46925
+ Solution: Detect json files in VSCode config directory as jsonc filetype
46926
+ (Konfekt).
46927
+
46928
+ Patch 9.1.1011
46929
+ Problem: Popup menu internal error with some abbr in completion item.
46930
+ Solution: Don't compute attributes when there is no corresponding text.
46931
+ Reduce indent in pum_redraw() while at it (zeertzjq).
46932
+
46933
+ Patch 9.1.1012
46934
+ Problem: Vim9: class interface inheritance not correctly working
46935
+ Solution: Make the class inherit the interfaces of the super class.
46936
+
46937
+ Patch 9.1.1013
46938
+ Problem: Vim9: Regression caused by Patch v9.1.0646
46939
+ Solution: Translate the function name before invoking it in call()
46940
+ (Yegappan Lakshmanan).
46941
+
46942
+ Patch 9.1.1014
46943
+ Problem: Vim9: variable not found in transitive import
46944
+ Solution: Allow nested import (Hirohito Higashi).
46945
+
46946
+ Patch 9.1.1015
46947
+ Problem: Coverity complains about dereferencing NULL value
46948
+ Solution: Check that cms2 is not null.
46949
+
46950
+ Patch 9.1.1016
46951
+ Problem: Not possible to convert string2blob and blob2string
46952
+ Solution: Add support for the blob2str() and str2blob() functions.
46953
+
46954
+ Patch 9.1.1017
46955
+ Problem: Vim9: Patch 9.1.1013 causes a few problems
46956
+ Solution: Translate the function name only when it is a string
46957
+ (Yegappan Lakshmanan).
46958
+
46959
+ Patch 9.1.1018
46960
+ Problem: v9.1.0743 causes regression with diff mode
46961
+ Solution: Fix the regression with overlapping regions.
46962
+
46963
+ Patch 9.1.1019
46964
+ Problem: filetype: fd ignore files are not recognized
46965
+ Solution: Detect .fdignore files as gitignore filetype.
46966
+
46967
+ Patch 9.1.1020
46968
+ Problem: no way to get current selected item in a async context
46969
+ Solution: Add completed flag to show the entries of currently selected
46970
+ index item (@glepnir).
46971
+
46972
+ Patch 9.1.1021
46973
+ Problem: string might be used without a trailing NUL (after v9.1.0997)
46974
+ Solution: Make sure that the buffer is NUL terminated.
46975
+
46976
+ Patch 9.1.1022
46977
+ Problem: linematch option value not completed (after v9.1.1009)
46978
+ Solution: Update diffoption completion values.
46979
+
46980
+ Patch 9.1.1023
46981
+ Problem: Coverity complains about dereferencing NULL pointer
46982
+ Solution: Verify curdiff is not null before dereferencing it.
46983
+
46984
+ Patch 9.1.1024
46985
+ Problem: blob2str/str2blob() do not support list of strings (after v9.1.1016)
46986
+ Solution: Add support for using a list of strings (Yegappan Lakshmanan).
46987
+
46988
+ Patch 9.1.1025
46989
+ Problem: wrong return type of blob2str()
46990
+ Solution: Update return to list of string (Yegappan Lakshmanan).
46991
+
46992
+ Patch 9.1.1026
46993
+ Problem: filetype: swc configuration files are not recognized
46994
+ Solution: Detect .swcrc files as json filetype (Marces Engel).
46995
+
46996
+ Patch 9.1.1027
46997
+ Problem: no sanitize check when running linematch
46998
+ Solution: Add sanitize check before applying the linematch algorithm,
46999
+ similar to diff_find_change() (Jonathon).
47000
+
47001
+ Patch 9.1.1028
47002
+ Problem: too many strlen() calls in screen.c
47003
+ Solution: Refactor screen.c and remove calls to strlen(),
47004
+ verify that leadmultispace != NULL (John Marriott).
47005
+
47006
+ Patch 9.1.1029
47007
+ Problem: the installer can be improved
47008
+ Solution: Update the installer with the correct README and LICENSE
47009
+ files, improve the documentation, add a Makefile for the
47010
+ installer, update the Makefiles (RestorerZ).
47011
+
47012
+ Patch 9.1.1030
47013
+ Problem: filetype: setting bash filetype is backwards incompatible
47014
+ Solution: Revert Patch v9.1.0965, detect bash scripts again as sh filetype.
47015
+
47016
+ Patch 9.1.1031
47017
+ Problem: Coverity complains about insecure data handling (v9.1.1024)
47018
+ Solution: Use int consistently to access the blob index (Yegappan Lakshmanan).
47019
+
47020
+ Patch 9.1.1032
47021
+ Problem: link error when FEAT_SPELL not defined (after v9.1.1016,
47022
+ John Marriott)
47023
+ Solution: Adjust ifdefs (Yegappan Lakshmanan).
47024
+
47025
+ Patch 9.1.1033
47026
+ Problem: tests: shaderslang was removed from test_filetype erroneously
47027
+ (Christian Clason, after v9.1.1030)
47028
+ Solution: Restore the test.
47029
+
47030
+ Patch 9.1.1033
47031
+ Problem: Vim9: compiling abstract method fails without return
47032
+ (Aliaksei Budavei)
47033
+ Solution: Don't require return for an abstract method (Ernie Rael).
47034
+
47035
+ Patch 9.1.1035
47036
+ Problem: Vim9: memory leak with blob2str()
47037
+ Solution: Free converted_str (Yegappan Lakshmanan).
47038
+
47039
+ Patch 9.1.1036
47040
+ Problem: make install fails when using shadowdir (after v9.1.1029).
47041
+ Solution: Also link in README.txt and LICENSE file.
47042
+
47043
+ Patch 9.1.1037
47044
+ Problem: Vim9: confusing error when using abstract method via super
47045
+ Solution: Display an error when an abstract method is invoked using
47046
+ super (Ernie Rael).
47047
+
47048
+ Patch 9.1.1038
47049
+ Problem: tests: test_channel.py fails with IPv6 (eds-collabora)
47050
+ Solution: Use 127.0.0.1 instead of localhost.
47051
+
47052
+ Patch 9.1.1039
47053
+ Problem: Vim9: comments are outdated
47054
+ Solution: Update comments, and include an enum example in the help
47055
+ (Yegappan Lakshmanan).
47056
+
47057
+ Patch 9.1.1040
47058
+ Problem: Vim9: imported type cannot be used as func return type
47059
+ (Dayvid Albuquerque)
47060
+ Solution: Temporarily reset the is_export flag (Yegappan Lakshmanan).
47061
+
47062
+ Patch 9.1.1041
47063
+ Problem: Vim9: out-of-bound access when echoing an enum
47064
+ Solution: Add NUL to growarray, check that ufunc is non-null before accessing
47065
+ it to make Coverity happy (Yegappan Lakshmanan).
47066
+
47067
+ Patch 9.1.1042
47068
+ Problem: filetype: just files are not recognized
47069
+ Solution: Adjust filetype detection pattern, detect just shebang line,
47070
+ include just ftplugin, indent and syntax plugin (Peter Benjamin).
47071
+
47072
+ Patch 9.1.1043
47073
+ Problem: [security]: segfault in win_line() (fizz-is-on-the-way)
47074
+ Solution: Check that ScreenLines is not NULL.
47075
+
47076
+ Patch 9.1.1044
47077
+ Problem: Vim9: Patch 9.1.1014 causes regressions
47078
+ Solution: Revert it for now.
47079
+
47080
+ Patch 9.1.1045
47081
+ Problem: filetype: N-Tripels and TriG files are not recognized
47082
+ Solution: Detect '*.nt' files as ntriples filetype and '*.trig' files
47083
+ as trig filetype (Gordian Dziwis)
47084
+
47085
+ Patch 9.1.1046
47086
+ Problem: fuzzymatching doesn't prefer matching camelcase (Tomasz N).
47087
+ Solution: Add extra score when case matches (glepnir).
47088
+
47089
+ Patch 9.1.1047
47090
+ Problem: Makefiles uses non-portable syntax (simo-zz, after v9.1.1029)
47091
+ Solution: Revert auto-generation of MAJOR/MINOR variables.
47092
+
47093
+ Patch 9.1.1048
47094
+ Problem: Crash after scrolling and pasting in silent Ex mode
47095
+ (fizz-is-on-the-way)
47096
+ Solution: Don't move cursor to line 0 when scrolling (zeertzjq).
47097
+
47098
+ Patch 9.1.1049
47099
+ Problem: Insert-completed items are always sorted, although the LSP
47100
+ spec[1] standard defines sortText in the returned
47101
+ completionitem list. This means that the server has sorted the
47102
+ results. When fuzzy is enabled, this will break the server's
47103
+ sorting results.
47104
+ Solution: Disable sorting of candidates when "nosort" is set in
47105
+ 'completeopt'
47106
+
47107
+ Patch 9.1.1050
47108
+ Problem: Too many strlen() calls in os_unix.c
47109
+ Solution: Refactor os_unix.c and remove calls to strlen() (John Marriott).
47110
+
47111
+ Patch 9.1.1051
47112
+ Problem: tests: no support for env variables when running Vim in terminal
47113
+ Solution: support the "env" argument in RunVimInTerminal(), close swapfiles
47114
+ properly in test_termcodes, use CheckFeature in test_termencoding
47115
+
47116
+ Patch 9.1.1052
47117
+ Problem: tests: off-by-one error in CheckCWD in test_debugger.vim
47118
+ Solution: Fix off-by-one in CheckCWD leading to local tests failure
47119
+ (Yee Cheng Chin)
47120
+
47121
+ Patch 9.1.1053
47122
+ Problem: "nosort" enables fuzzy filtering even if "fuzzy" isn't in
47123
+ 'completeopt' (after v9.1.1049)
47124
+ Solution: Only enable fuzzy filtering when "fuzzy" is in 'completeopt'
47125
+ (zeertzjq).
47126
+
47127
+ Patch 9.1.1054
47128
+ Problem: Vim doesn't work well with TERM=xterm-direct (Andrea Pappacoda).
47129
+ Solution: Detect if a terminal supports true-colors and enable termguicolors
47130
+
47131
+ Patch 9.1.1055
47132
+ Problem: make install fails because of a missing dependency
47133
+ Solution: Add explicit dependencies for tutor/{en,it} (Sergei Trofimovich).
47134
+
47135
+ Patch 9.1.1056
47136
+ Problem: Vim doesn't highlight to be inserted text when completing
47137
+ Solution: Add support for the "preinsert" 'completeopt' value (glepnir).
47138
+
47139
+ Patch 9.1.1057
47140
+ Problem: Superfluous cleanup steps in test_ins_complete.vim.
47141
+ Solution: Remove unnecessary :bw! and :autocmd! commands.
47142
+ Also remove unnecessary STRLEN() in insexpand.c (zeertzjq).
47143
+
47144
+ Patch 9.1.1058
47145
+ Problem: translation(sr): Missing Serbian translation for the tutor
47146
+ Solution: Include new Serbian translation for the new tutor,
47147
+ include translation for chapter 2 of the traditional tutor,
47148
+ update the Makefiles for installing the runtime files (Ivan Pešić).
47149
+
47150
+ Patch 9.1.1059
47151
+ Problem: completion: input text deleted with preinsert when adding leader
47152
+ Solution: Remove compl_length and check the ptr for being equal
47153
+ to pattern when preinsert is active (glepnir).
47154
+
47155
+ Patch 9.1.1060
47156
+ Problem: Vim always enables 'termguicolors' in a terminal, even
47157
+ when not wanted (after v9.1.1054).
47158
+ Solution: Respect `:set notermguicolors` in vimrc file.
47159
+
47160
+ Patch 9.1.1061
47161
+ Problem: tests: test_glvs fails when unarchiver not available
47162
+ (Brian L. Matthews)
47163
+ Solution: Check if an unarchiver is available, skip the test otherwise.
47164
+
47165
+ Patch 9.1.1062
47166
+ Problem: terminal: E315 when dragging the terminal with the mouse
47167
+ (user202729)
47168
+ Solution: Call update_topline() and validate_cursor() when clicking
47169
+ on the status line with the mouse (Hirohito Higashi).
47170
+
47171
+ Patch 9.1.1063
47172
+ Problem: too many strlen() calls in userfunc.c
47173
+ Solution: Refactor userfunc.c and remove calls to strlen(),
47174
+ drop set_ufunc_name() and roll it into alloc_ufunc(),
47175
+ check for out-of-memory condition in trans_function_name_ext()
47176
+ (John Marriott).
47177
+
47178
+ Patch 9.1.1064
47179
+ Problem: not possible to use plural forms with gettext()
47180
+ Solution: Implement ngettext() Vim script function (Christ van Willegen).
47181
+
47182
+ Patch 9.1.1065
47183
+ Problem: no digraph for "Approaches the limit"
47184
+ Solution: Add the digraph using .= (Hans Ginzel).
47185
+
47186
+ Patch 9.1.1066
47187
+ Problem: Heap-use-after-free and stack-use-after-scope with :14verbose
47188
+ when using :return and :try (after 9.1.1063).
47189
+ Solution: Move back the vim_free(tofree) and the scope of numbuf[] (zeertzjq).
47190
+
47191
+ Patch 9.1.1067
47192
+ Problem: tests: Test_termwinscroll_topline2 fails on MacOS (after v9.1.1062)
47193
+ Solution: Reduce termwinscroll further, increase term_wait time.
47194
+
47195
+ Patch 9.1.1068
47196
+ Problem: getchar() can't distinguish between C-I and Tab.
47197
+ Solution: Add {opts} to pass extra flags to getchar() and getcharstr(),
47198
+ with "number" and "simplify" keys.
47199
+
47200
+ Patch 9.1.1069
47201
+ Problem: preinsert text completions not deleted with <C-W>/<C-U>
47202
+ (ddad431, after v9.1.1059)
47203
+ Solution: Handle <C-W> or <C-U> specifically and clear the completion
47204
+ (glepnir).
47205
+
47206
+ Patch 9.1.1070
47207
+ Problem: Cannot control cursor positioning of getchar().
47208
+ Solution: Add "cursor" flag to {opts}, with possible values "hide",
47209
+ "keep" and "msg".
47210
+
47211
+ Patch 9.1.1071
47212
+ Problem: Arguments of a function are missing after failing to redefine
47213
+ it (after 8.2.2505), and heap-use-after-free with script-local
47214
+ function (after 9.1.1063).
47215
+ Solution: Don't clear arguments or free uf_name_exp when failing to
47216
+ redefine an existing function (zeertzjq).
47217
+
47218
+ Patch 9.1.1072
47219
+ Problem: 'diffopt' "linematch" cannot be used with {n} less than 10
47220
+ digits (after v9.1.1022)
47221
+ Solution: Fix off-by-one error when checking for digit (zeertzjq).
47222
+
47223
+ Patch 9.1.1073
47224
+ Problem: tests: test_compiler fails on Windows without Maven.
47225
+ Solution: Add Xspotbugs directory to $PATH when mvn is not available
47226
+ (zeertzjq).
47227
+
47228
+ Patch 9.1.1074
47229
+ Problem: Strange error when heredoc marker starts with "trim".
47230
+ Solution: Check for whitespace after "trim" or "eval" (zeertzjq).
47231
+
47232
+ Patch 9.1.1075
47233
+ Problem: Vim9: length variable not used in compile_load()
47234
+ Solution: Use len instead of re-calculating the length (Hirohito Higashi).
47235
+
47236
+ Patch 9.1.1076
47237
+ Problem: vim_strnchr() is strange and unnecessary (after v9.1.1009)
47238
+ Solution: Remove vim_strnchr() and use memchr() instead. Also remove a
47239
+ comment referencing an #if that is no longer present.
47240
+
47241
+ Patch 9.1.1077
47242
+ Problem: Syntax engine interpreted contains=TOP as matching nothing
47243
+ inside included files, since :syn-include forces HL_CONTAINED
47244
+ on for every included item. After 8.2.2761, interprets
47245
+ contains=TOP as contains=@INCLUDED, which is also not correct
47246
+ since it doesn't respect exclusions, and doesn't work if there
47247
+ is no @INCLUDED cluster.
47248
+ Solution: Revert Patch 8.2.2761, instead track groups that have had
47249
+ HL_CONTAINED forced, and interpret contains=TOP and
47250
+ contains=CONTAINED using this (Theodore Dubois).
47251
+
47252
+ Patch 9.1.1078
47253
+ Problem: Terminal ansi colors off by one after tgc reset
47254
+ Solution: Set the correct index for libvterm palette, revert parts in
47255
+ libvterm/src/pen.c that deviated from upstream (Julio B)
47256
+
47257
+ Patch 9.1.1079
47258
+ Problem: GUI late startup leads to uninitialized scrollbars
47259
+ Solution: initialize scrollbars for all windows in all tabpages
47260
+ (Yee Cheng Chin).
47261
+
47262
+ Patch 9.1.1080
47263
+ Problem: filetype: Mill files are not recognized
47264
+ Solution: Detect '*.mill' files as scala filetype.
47265
+
47266
+ Patch 9.1.1081
47267
+ Problem: has('bsd') is true for GNU/Hurd
47268
+ Solution: Exclude GNU/Hurd from BSD feature flag (Zhaoming Luo).
47269
+
47270
+ Patch 9.1.1082
47271
+ Problem: unexpected DCS responses may cause out of bounds reads
47272
+ (after v9.1.1054)
47273
+ Solution: Check that the parsed value is '=' as expected (Julio B).
47274
+
47275
+ Patch 9.1.1083
47276
+ Problem: setreg() doesn't correctly handle mbyte chars in blockwise mode
47277
+ Solution: Use mb_ptr2len_len function pointer (Yee Cheng Chin).
47278
+
47279
+ Patch 9.1.1084
47280
+ Problem: Unable to persistently ignore events in a window and its buffers.
47281
+ Solution: Add 'eventignorewin' option to ignore events in a window and buffer
47282
+ (Luuk van Baal).
47283
+
47284
+ Patch 9.1.1085
47285
+ Problem: filetype: cmmt files are not recognized
47286
+ Solution: Detect '*.cmmt' as trace32 filetype (Christian Sax).
47287
+
47288
+ Patch 9.1.1086
47289
+ Problem: completion doesn't work with multi lines (Łukasz Jan Niemier)
47290
+ Solution: Handle linebreaks in completion code as expected (glepnir).
47291
+
47292
+ Patch 9.1.1087
47293
+ Problem: Vim9: import with extends may crash
47294
+ Solution: Check otv for being NULL before trying to access it
47295
+ (Hirohito Higashi).
47296
+
47297
+ Patch 9.1.1088
47298
+ Problem: tests: plugin tests are named inconsistently
47299
+ Solution: Group them under a common 'plugin' prefix.
47300
+
47301
+ Patch 9.1.1089
47302
+ Problem: tests: No check when tests are run under Github actions
47303
+ Solution: Add the CheckGithubActions check command and skip test if needed.
47304
+
47305
+ Patch 9.1.1090
47306
+ Problem: tests: test_terminwscroll_topline2 unreliable
47307
+ Solution: Instead of using term_wait() with a specific time, use
47308
+ terminal-api and to wait until the terminal is finished
47309
+ (Yee Cheng Chin).
47310
+
47311
+ Patch 9.1.1091
47312
+ Problem: tests: timeout might be a bit too small
47313
+ Solution: Increase the test timeout from 30 to 45 seconds
47314
+
47315
+ Patch 9.1.1092
47316
+ Problem: tests: fix expected return code for python 3.13 on Windows
47317
+ Solution: Check for return code 1 or 123 on Windows.
47318
+
47319
+ Patch 9.1.1093
47320
+ Problem: tests: output of test Test_terminal_eof_arg_win32_ctrl_z depends on
47321
+ python version.
47322
+ Solution: Check for the expected output in both, the second last line
47323
+ and last line.
47324
+
47325
+ Patch 9.1.1094
47326
+ Problem: Vim9: problem finding implemented method for abstract method
47327
+ in type hierarchy (Aliaksei Budavei)
47328
+ Solution: When checking for abstract methods in an extended class, check
47329
+ whether an abstract method is implemented in one of the parent
47330
+ classes (Yegappan Lakshmanan).
47331
+
47332
+ Patch 9.1.1095
47333
+ Problem: tests: matchparen plugin test wrongly named (zeertzjq)
47334
+ Solution: Rename test_matchparen to test_plugin_matchparen
47335
+ to be consistent with the other plugin tests.
47336
+
47337
+ Patch 9.1.1096
47338
+ Problem: if_perl: Perl 5.38 adds new symbols causing link failure
47339
+ Solution: add stub symbols (Drew Vogel).
47340
+
47341
+ Patch 9.1.1097
47342
+ Problem: --log with non-existent path causes a crash (Ekkosun)
47343
+ Solution: Split initialization phase and init the execution stack
47344
+ earlier (Hirohito Higashi)
47345
+
47346
+ Patch 9.1.1098
47347
+ Problem: Leaking memory with completing multi lines (after v9.1.1086)
47348
+ Solution: Free allocated memory (glepnir).
47349
+
47350
+ Patch 9.1.1099
47351
+ Problem: Vim9: import with extends may crash, v9.1.1087 wasn't the
47352
+ correct way to fix it).
47353
+ Solution: When using an import class, Check for a valid class member
47354
+ variable at compile time (Yegappan Lakshmanan).
47355
+
47356
+ Patch 9.1.1100
47357
+ Problem: tests: Test_log_nonexistent only works on Linux
47358
+ (after v9.1.1097)
47359
+ Solution: Add CheckUnix condition.
47360
+
47361
+ Patch 9.1.1101
47362
+ Problem: insexpand.c hard to read
47363
+ Solution: Refactor slightly to make it better readable (glepnir).
47364
+
47365
+ Patch 9.1.1102
47366
+ Problem: tests: Test_WinScrolled_Resized_eiw() uses wrong filename
47367
+ (Luuk van Baal, after v9.1.1084)
47368
+ Solution: Rename the filename to something more unique.
47369
+
47370
+ Patch 9.1.1103
47371
+ Problem: if_perl: still some compile errors with Perl 5.38
47372
+ Solution: Copy declaration of PL_memory_wrap from Perl header (Drew Vogel).
47373
+
47374
+ Patch 9.1.1104
47375
+ Problem: CI: uses Ubuntu 22.04 runners
47376
+ Solution: Switch to Ubuntu 24.04 runners, make a few adjustments for
47377
+ different $TMPDIR (Drew Vogel).
47378
+
47379
+ Patch 9.1.1105
47380
+ Problem: Vim9: no support for protected new() method
47381
+ Solution: Support the protected "_new()" object method (Yegappan Lakshmanan).
47382
+
47383
+ Patch 9.1.1106
47384
+ Problem: tests: Test_log_nonexistent() causes asan failure (Hirohito Higashi)
47385
+ Solution: Don't run vim using system(), but run Vim in a terminal.
47386
+
47387
+ Patch 9.1.1107
47388
+ Problem: Cannot loop through completion menu with fuzzy and nosort in
47389
+ 'completeopt' (Tomasz N)
47390
+ Solution: Reset cur to zero and update compl_shown_match when
47391
+ 'completeopt' contains "nosort" but not "noselect" (glepnir).
47392
+
47393
+ Patch 9.1.1108
47394
+ Problem: 'smoothscroll' gets stuck with 'listchars' "eol".
47395
+ Solution: Count size of 'listchars' "eol" in line size when scrolling
47396
+ (zeertzjq).
47397
+
47398
+ Patch 9.1.1109
47399
+ Problem: cmdexpand.c hard to read
47400
+ Solution: Refactor the file slightly (glepnir).
47401
+
47402
+ Patch 9.1.1110
47403
+ Problem: Vim tests are slow and flaky at the same time due to reliance
47404
+ on timeouts which are unreliable.
47405
+ Solution: Improve Vim test performance and reduce flakiness
47406
+ (Yee Cheng Chin)
47407
+
47408
+ Patch 9.1.1111
47409
+ Problem: Vim9: variable not found in transitive import (lifepillar)
47410
+ Solution: Fix import and class extends (Hirohito Higashi).
47411
+
47412
+ Patch 9.1.1112
47413
+ Problem: Inconsistencies in get_next_or_prev_match() (after 9.1.1109).
47414
+ Solution: Change "file" to "entry" or "match" in comments. Use the same
47415
+ order of branches for PAGEUP and PAGEDOWN (zeertzjq).
47416
+
47417
+ Patch 9.1.1113
47418
+ Problem: tests: Test_terminal_builtin_without_gui waits 2 seconds
47419
+ Solution: Add --not-a-term to remove the annoying 2s delay in error
47420
+ message when Vim detects that stdio are not from a terminal
47421
+ (Yee Cheng Chin).
47422
+
47423
+ Patch 9.1.1114
47424
+ Problem: Enabling termguicolors automatically confuses users. Since
47425
+ querying the terminal for the RGB flag happens asynchronously,
47426
+ enabling termguicolors is noticeable by users as the highlighting
47427
+ changes and is therefore unexpected (after v9.1.1054).
47428
+ Solution: Comment out that part for now. We may need another way to enable
47429
+ this in the future.
47430
+
47431
+ Patch 9.1.1115
47432
+ Problem: [security]: use-after-free in str_to_reg() (fizz-is-on-the-way)
47433
+ Solution: When redirecting the :display command, check that one
47434
+ does not output to the register being displayed
47435
+
47436
+ Patch 9.1.1116
47437
+ Problem: Vim9: super not supported in lambda expressions (Aliaksei Budavei)
47438
+ Solution: Support using the super keyword in a closure in an instance
47439
+ method (Yegappan Lakshmanan).
47440
+
47441
+ Patch 9.1.1117
47442
+ Problem: there are a few minor style issues
47443
+ Solution: Fix the issues (Hirohito Higashi).
47444
+
47445
+ Patch 9.1.1118
47446
+ Problem: tests: test_termcodes fails (after: v9.1.1114)
47447
+ Solution: Adjust the test for the expected termguicolors value.
47448
+
47449
+ Patch 9.1.1119
47450
+ Problem: Vim9: Not able to use an autoloaded class from another
47451
+ autoloaded script (Elliot)
47452
+ Solution: Make it work (Yegappan Lakshmanan).
47453
+
47454
+ Patch 9.1.1120
47455
+ Problem: tests: Test_registers fails (T.J. Townsend, after v9.1.1115).
47456
+ Solution: Require clipboard feature
47457
+
47458
+ Patch 9.1.1121
47459
+ Problem: Enter does not insert newline with "noselect" when the pum is
47460
+ visible (lifepillar)
47461
+ Solution: When Enter is pressed and no complete-item is selected,
47462
+ ins_compl_prep returns false, and the edit function continues
47463
+ processing Enter to insert a new line (glepnir).
47464
+
47465
+ Patch 9.1.1122
47466
+ Problem: too many strlen() calls in findfile.c
47467
+ Solution: Refactor findfile.c and remove calls to strlen() (John Marriott).
47468
+
47469
+ Patch 9.1.1123
47470
+ Problem: Highlight groups PopupSelected/PopupNotification/
47471
+ MessageWindow are supposed to fall back to default highlight
47472
+ groups if they are not defined. However, once a colorscheme
47473
+ has defined them, switching to another colorscheme that
47474
+ doesn't do so will leave behind a cleared colorscheme, which
47475
+ causes the fallback to fail.
47476
+ Solution: Set up default links to the relevant fallback highlight
47477
+ groups, which makes sure a `:hi clear` command will reset the
47478
+ state properly (Yee Cheng Chin).
47479
+
47480
+ Patch 9.1.1124
47481
+ Problem: No test for 'listchars' "precedes" with double-width char.
47482
+ Solution: Add a test and fix a typo in code (zeertzjq).
47483
+
47484
+ Patch 9.1.1125
47485
+ Problem: Cannot loop through pum menu with multiline items with
47486
+ fuzzy and noselect in 'completeopt' (Tomasz N)
47487
+ Solution: Remove unnecessary compl_no_select condition (glepnir).
47488
+
47489
+ Patch 9.1.1126
47490
+ Problem: Patch 9.1.1121 used a wrong way to handle enter
47491
+ Solution: Compl_enter_selects also needs to consider the selected item
47492
+ in ins_compl_new_leader() (glepnir).
47493
+
47494
+ Patch 9.1.1127
47495
+ Problem: when 'completeopt' is set to preinsert the preinserted text is
47496
+ not cleared when adding new leader (Yee Cheng Chin)
47497
+ Solution: Add a condition to delete preinsert text in edit function
47498
+ (glepnir).
47499
+
47500
+ Patch 9.1.1128
47501
+ Problem: Patch 9.1.1119 caused a regression with imports (girishji).
47502
+ Solution: Revert the script ID change for the class script variable for
47503
+ now (Yegappan Lakshmanan).
47504
+
47505
+ Patch 9.1.1129
47506
+ Problem: missing out-of-memory test in buf_write()
47507
+ Solution: Check that the returned allocated buffer is not NULL
47508
+ (John Marriott).
47509
+
47510
+ Patch 9.1.1130
47511
+ Problem: 'listchars' "precedes" is not drawn on Tabs.
47512
+ Solution: Only draw 'listchars' "precedes" when not skipping over cells
47513
+ (zeertzjq).
47514
+
47515
+ Patch 9.1.1131
47516
+ Problem: Potential out-of-memory issue in search.c
47517
+ Solution: Improve situation and refactor search.c slightly (John Marriott).
47518
+
47519
+ Patch 9.1.1132
47520
+ Problem: Mark positions wrong after triggering multiline completion.
47521
+ Solution: Call deleted_lines_mark() after deleting lines (zeertzjq).
47522
+
47523
+ Patch 9.1.1133
47524
+ Problem: filetype: xkb files not recognized everywhere
47525
+ Solution: Detect xkb files in more places (David Mandelberg).
47526
+
47527
+ Patch 9.1.1134
47528
+ Problem: filetype: Guile init file not recognized
47529
+ Solution: Detect '.guile' file as scheme filetype (David Mandelberg).
47530
+
47531
+ Patch 9.1.1135
47532
+ Problem: 'suffixesadd' doesn't work with multiple items (after 9.1.1122).
47533
+ Solution: Don't concat multiple suffixes together (zeertzjq).
47534
+
47535
+ Patch 9.1.1136
47536
+ Problem: Match highlighting marks a buffer region to be redrawn as if
47537
+ its buffer text was changed, unnecessarily invoking syntax code.
47538
+ Solution: Set the `w_redraw_top/bot` variables instead of the b_mod_* ones
47539
+ (Luuk van Baal).
47540
+
47541
+ Patch 9.1.1137
47542
+ Problem: ins_str() is inefficient by calling STRLLEN()
47543
+ Solution: Refactor ins_str() to take a length argument and let all callers
47544
+ provide the correct length when calling ins_str() (John Marriott).
47545
+
47546
+ Patch 9.1.1138
47547
+ Problem: Existing cmdline completion for :highlight was barebone and
47548
+ only completed the highlight group names.
47549
+ Solution: Implement full completion for the highlight group arguments
47550
+ such as guifg and cterm. If the user tries to complete
47551
+ immediately after the '=' (e.g. `hi Normal guifg=<Tab>`), the
47552
+ completion will fill in the existing value, similar to how
47553
+ cmdline completion for options work (Yee Cheng Chin).
47554
+
47555
+ Patch 9.1.1139
47556
+ Problem: [fifo] is not displayed when editing a fifo (after v7.4.2189).
47557
+ Solution: Stat the filename and detect the type correctly.
47558
+
47559
+ Patch 9.1.1140
47560
+ Problem: filetype: m17ndb files are not detected
47561
+ Solution: Detect m17ndb files as m17ndb filetype, include filetype, syntax and
47562
+ indent files for the new filetype (David Mandelberg).
47563
+
47564
+ Patch 9.1.1141
47565
+ Problem: Misplaced comment in readfile() (after v9.1.1139).
47566
+ Solution: Move the comment above S_ISDIR() (zeertzjq).
47567
+
47568
+ Patch 9.1.1142
47569
+ Problem: tests: test_startup fails if $HOME/$XDG_CONFIG_HOME is defined
47570
+ Solution: Define $HOME and $XDG_CONFIG_HOME to some non-existing
47571
+ directory.
47572
+
47573
+ Patch 9.1.1143
47574
+ Problem: illegal memory access when putting a register
47575
+ Solution: Make sure cursor column doesn't become negative.
47576
+
47577
+ Patch 9.1.1144
47578
+ Problem: no way to create raw strings from a blob
47579
+ Solution: Support the "encoding": "none" option to create raw strings (which
47580
+ may be invalid) (Bakudankun).
47581
+
47582
+ Patch 9.1.1145
47583
+ Problem: When expanding omni completion items with newlines (e.g.
47584
+ `then\n\t\nend`), the end statement gets wrong indentation.
47585
+ Solution: Add OPENLINE_FORCE_INDENT flag to make open_line() use
47586
+ second_line_indent directly (glepnir).
47587
+
47588
+ Patch 9.1.1146
47589
+ Problem: Vim9: wrong context being used when evaluating class member
47590
+ (lifepillar, Ernie Rael)
47591
+ Solution: Use the correct script context when evaluating a class member
47592
+ init expression(Yegappan Lakshmanan).
47593
+
47594
+ Patch 9.1.1147
47595
+ Problem: preview-window does not scroll correctly
47596
+ Solution: Init firstline = 0 for a preview window (Girish Palya).
47597
+
47598
+ Patch 9.1.1148
47599
+ Problem: Vim9: finding imported scripts can be further improved
47600
+ (after v9.1.1146)
47601
+ Solution: Eliminate extra find_imported() call (Hirohito Higashi).
47602
+
47603
+ Patch 9.1.1149
47604
+ Problem: Unix Makefile does not support Brazilian lang for the installer.
47605
+ Solution: Add support for language code pt_br (RestorerZ)
47606
+
47607
+ Patch 9.1.1150
47608
+ Problem: :highlight auto-complettion has a minor bug where an existing
47609
+ highlight group with a cterm color being unset would result in
47610
+ it being auto-completed to -1 in cmdline which is invalid.
47611
+ Solution: Correctly check for whether an int value is set to non-zero
47612
+ before retrieving the existing value for auto-complete. Also
47613
+ do this for attr/string values as they previously worked only
47614
+ by accident (Yee Cheng Chin).
47615
+
47616
+ Patch 9.1.1151
47617
+ Problem: too many strlen() calls in getchar.c
47618
+ Solution: Store last inserted and recorded lengths, add functions to retrieve
47619
+ those and use those functions (John Marriott).
47620
+
47621
+ Patch 9.1.1152
47622
+ Problem: Patch v9.1.1151 causes problems
47623
+ Solution: Partially revert it (John Marriott).
47624
+
47625
+ Patch 9.1.1153
47626
+ Problem: build error on Haiku
47627
+ Solution: Define XDG_RUNTIME_PATH variables (Begasus).
47628
+
47629
+ Patch 9.1.1154
47630
+ Problem: Vim9: not able to use autoload class accross scripts
47631
+ Solution: Make it work, re-enable the test (Yegappan Lakshmanan).
47632
+
47633
+ Patch 9.1.1155
47634
+ Problem: Mode message not cleared after :silent message (after 9.0.1634).
47635
+ Solution: Don't reset mode_displayed when the message is empty (zeertzjq).
47636
+
47637
+ Patch 9.1.1156
47638
+ Problem: No test for what Patch 9.1.1152 fixes.
47639
+ Solution: Add a test (zeertzjq).
47640
+
47641
+ Patch 9.1.1157
47642
+ Problem: command completion wrong for input() (Cdrman Fu)
47643
+ Solution: Set commandline completion context explicitly (Jim Zhou).
47644
+
47645
+ Patch 9.1.1158
47646
+ Problem: :verbose set has wrong file name with :compiler!
47647
+ Solution: Add -keepscript (zeertzjq).
47648
+
47649
+ Patch 9.1.1159
47650
+ Problem: $MYVIMDIR may not always be set (after 9.1.0718) (sandwm)
47651
+ Solution: Always set $MYVIMDIR to first item in runtimepath
47652
+ (except when using --clean), update it when changing &rtp.
47653
+
47654
+ Patch 9.1.1160
47655
+ Problem: The 'preinsert' feature requires Ctrl-Y to confirm insertion,
47656
+ but Ctrl-Y only works when the popup menu (pum) is displayed.
47657
+ Solution: Modify ins_compl_has_preinsert() to check for both 'menu' and
47658
+ 'menuone' flags when 'preinsert' is set. Update documentation
47659
+ to clarify this requirement. This avoids adding complex
47660
+ conditional behaviors (glepnir).
47661
+
47662
+ Patch 9.1.1161
47663
+ Problem: preinsert requires bot "menu" and "menuone" to be set,
47664
+ but "menu" is redundant (after v9.1.1160)
47665
+ Solution: Preinsert only requires menuone (glepnir).
47666
+
47667
+ Patch 9.1.1162
47668
+ Problem: When an info popup spans into the cmdline area and ESC is
47669
+ pressed, some content remains visible on screen (yu3s).
47670
+ Solution: Add popup_overlays_cmdline() check in screen_fill() to prevent
47671
+ prematurely clearing the clear_cmdline flag (glepnir).
47672
+
47673
+ Patch 9.1.1163
47674
+ Problem: $MYVIMDIR is set too late and not available while sourcing
47675
+ runtime files (Maxim Kim, after v9.1.1159).
47676
+ Solution: Also set it when $MYVIMRC file is found.
47677
+
47678
+ Patch 9.1.1164
47679
+ Problem: editing a special crafted tar file allows code execution (RyotaK)
47680
+ Solution: Escape the filename before feeding it to the `:read` command
47681
+
47682
+ Patch 9.1.1165
47683
+ Problem: Vim's diff block merging algorithm when doing a multi-file diff
47684
+ is buggy when two different diff hunks overlap a single
47685
+ existing diff block (after v9.1.0743)
47686
+ Solution: Fix a couple bugs in this logic (Yee Cheng Chin).
47687
+
47688
+ Patch 9.1.1166
47689
+ Problem: command-line auto-completion hard with wildmenu
47690
+ Solution: Implement "noselect" wildoption value (Girish Palya)
47691
+
47692
+ Patch 9.1.1167
47693
+ Problem: mark '] wrong after copying text object (ubaldot)
47694
+ Solution: Adjust position of '] for non-linewise, exclusive motions (Jim Zhou)
47695
+
47696
+ Patch 9.1.1168
47697
+ Problem: wrong flags passed down to nextwild() (zeertzjq, after v9.1.1166)
47698
+ Solution: Only pass options flags (Girish Palya)
47699
+
47700
+ Patch 9.1.1169
47701
+ Problem: using global variable for get_insert()/get_lambda_name()
47702
+ (after v9.1.1151)
47703
+ Solution: Let the functions return a string_T object instead (Yee Cheng Chin).
47704
+
47705
+ Patch 9.1.1170
47706
+ Problem: wildmenu highlighting in popup can be improved
47707
+ Solution: Check if the completion items contain submatches of the
47708
+ entered text (Girish Palya).
47709
+
47710
+ Patch 9.1.1171
47711
+ Problem: tests: wrong arguments passed to assert_equal() (after v9.1.1167).
47712
+ Solution: Swap arguments in the assert_equal() call (zeertzjq).
47713
+
47714
+ Patch 9.1.1172
47715
+ Problem: heap-buffer-overflow with 'nostartofline' and Ex command in tag
47716
+ file.
47717
+ Solution: Set cursor column when moving cursor to line 1 (zeertzjq).
47718
+
47719
+ Patch 9.1.1173
47720
+ Problem: filetype: ABNF files are not detected
47721
+ Solution: Detect '.abnf' file as abnf filetype and
47722
+ include an abnf syntax plugin (A4-Tacks).
47723
+
47724
+ Patch 9.1.1174
47725
+ Problem: tests: when the file 'TestCommand?Test' exists,
47726
+ 'Test_complete_cmdline()' will fail when writing the file. And
47727
+ there's no related cleaning operation for this kind of file
47728
+ before the test run.
47729
+ Solution: modify `write` to `write!` to override (Jim Zhou).
47730
+
47731
+ Patch 9.1.1175
47732
+ Problem: inconsistent behaviour with exclusive selection and motion
47733
+ commands (aidancz)
47734
+ Solution: Adjust cursor position when selection is exclusive (Jim Zhou).
47735
+
47736
+ Patch 9.1.1176
47737
+ Problem: wrong indentation of lastline when expanding multiple lines
47738
+ Solution: Check OPENLINE_FORCE_INDENT flag in open_line() (glepnir).
47739
+
47740
+ Patch 9.1.1177
47741
+ Problem: filetype: tera files not detected
47742
+ Solution: Detect '*.tera' files as tera filetype,
47743
+ include a simple filetype plugin (MuntasirSZN).
47744
+
47745
+ Patch 9.1.1178
47746
+ Problem: not possible to generate completion candidates using fuzzy
47747
+ matching
47748
+ Solution: Add the 'completefuzzycollect' option for (some) ins-completion
47749
+ modes (glepnir).
47750
+
47751
+ Patch 9.1.1179
47752
+ Problem: too many strlen() calls in misc2.c
47753
+ Solution: Refactor misc2.c and use bsearch() instead of a linear search
47754
+ to find matches in the key_names_table array (John Marriott).
47755
+
47756
+ Patch 9.1.1180
47757
+ Problem: The meaning of <Tab> depends on unspecified behavior
47758
+ (after 9.1.1179).
47759
+ Solution: Return TAB in case bsearch() finds K_TAB. Rename alt_name to
47760
+ pref_name as that's closer to it meaning (zeertzjq).
47761
+
47762
+ Patch 9.1.1181
47763
+ Problem: Unnecessary STRLEN() calls in insexpand.c (after 9.1.1178).
47764
+ Solution: Use the already available length (zeertzjq).
47765
+
47766
+ Patch 9.1.1182
47767
+ Problem: No cmdline completion for the 'completefuzzycollect' option
47768
+ (after v9.1.1178)
47769
+ Solution: Add cmdline completion for the 'completefuzzycollect' option,
47770
+ improve its description in optwin.vim (zeertzjq).
47771
+
47772
+ Patch 9.1.1083
47773
+ Problem: "above" virtual text breaks cursorlineopt=number.
47774
+ Solution: Take "above" virtual text into account when applying
47775
+ CursorLineNr highlight.
47776
+
47777
+ Patch 9.1.1184
47778
+ Problem: Unnecessary use of vim_tolower() in vim_strnicmp_asc().
47779
+ Solution: Use TOLOWER_ASC() instead (zeertzjq).
47780
+
47781
+ Patch 9.1.1185
47782
+ Problem: endless loop with completefuzzycollect and no match found
47783
+ Solution: Move pointer to line end and break loop.
47784
+
47785
+ Patch 9.1.1186
47786
+ Problem: filetype: help files in git repos are not detected
47787
+ Solution: Detect */doc/*.txt files as help if they end with a help
47788
+ modeline, even if 'modeline' is off
47789
+
47790
+ Patch 9.1.1187
47791
+ Problem: matchparen plugin wrong highlights shell case statement
47792
+ (Swudu Susuwu)
47793
+ Solution: Return early, if we are in a shSnglCase syntax element
47794
+
47795
+ Patch 9.1.1188
47796
+ Problem: runtime(tera): tera support can be improved
47797
+ Solution: Update tera filetype plugin, include a tera syntax script
47798
+ include tera syntax tests, update the filetype test,
47799
+ update makemenu and synmenu vim scripts (MuntasirSZN).
47800
+
47801
+ Patch 9.1.1189
47802
+ Problem: if_python: build error due to incompatible pointer types
47803
+ Solution: Cast pointer to PyObject* (oreo639).
47804
+
47805
+ Patch 9.1.1190
47806
+ Problem: C indentation does not detect multibyte labels
47807
+ Solution: Correctly skip over multibyte characters (Anttoni Erkkilä).
47808
+
47809
+ Patch 9.1.1191
47810
+ Problem: Test for Patch 9.1.1186 doesn't fail without the patch.
47811
+ Solution: Set 'nomodeline' in the test (zeertzjq).
47812
+
47813
+ Patch 9.1.1192
47814
+ Problem: Vim crashes with term response debug logging enabled and
47815
+ running in a non-writeable directory
47816
+ Solution: Use ch_log() instead of custom termresponse logging function
47817
+ (Hirohito Higashi)
47818
+
47819
+ Patch 9.1.1193
47820
+ Problem: Unnecessary use of STRCAT() in au_event_disable(). STRCAT()
47821
+ seeks to the end of new_ei, but here the end is already known.
47822
+ Solution: Use STRCPY() and add p_ei_len to new_ei. Also fix a typo in a
47823
+ comment. Add a test that 'eventignore' works in :argdo (zeertzjq).
47824
+
47825
+ Patch 9.1.1194
47826
+ Problem: filetype: false positive help filetype detection
47827
+ Solution: Only detect a file as help if modeline appears either at start
47828
+ of line or is preceded by whitespace (zeertzjq).
47829
+
47830
+ Patch 9.1.1195
47831
+ Problem: inside try-block: fn body executed when default arg is
47832
+ undefined
47833
+ Solution: When inside a try-block do not execute function body after an
47834
+ error in evaluating a default argument expression (Shane Harper).
47835
+
47836
+ Patch 9.1.1196
47837
+ Problem: filetype: config files for container tools are not recognized
47838
+ Solution: Detect the ones that aren't detected yet as toml filetype
47839
+ (David Mandelberg).
47840
+
47841
+ Patch 9.1.1197
47842
+ Problem: process_next_cpt_value() uses wrong condition
47843
+ Solution: Use cfc_has_mode() instead and remove redundant else if branch
47844
+ (glepnir).
47845
+
47846
+ Patch 9.1.1198
47847
+ Problem: [security]: potential data loss with zip.vim and special
47848
+ crafted zip files (RyotaK)
47849
+ Solution: Use glob '[-]' to protect filenames starting with '-'.
47850
+
47851
+ Patch 9.1.1199
47852
+ Problem: Many X11/Wayland desktops support icon themes, and many themes
47853
+ provide a gvim icon, but this icon is ignored for the window
47854
+ itself because it is hardcoded in the source code.
47855
+ Solution: Read the icon from the theme instead (Aurelien Gateau).
47856
+
47857
+ Patch 9.1.1200
47858
+ Problem: Cmdline pum not cleared for input() completion.
47859
+ Solution: Temporary reset RedrawingDisabled in cmdline_pum_cleanup(),
47860
+ like what is done in wildmenu_cleanup() (zeertzjq).
47861
+
47862
+ Patch 9.1.1201
47863
+ Problem: 'completefuzzycollect' does not handle dictionary correctly
47864
+ Solution: Check for ctrl_x_mode_dictionary (glepnir).
47865
+
47866
+ Patch 9.1.1202
47867
+ Problem: Missing TabClosedPre autocommand (zoumi)
47868
+ Solution: Add the TabClosedPre autcommand (Jim Zhou).
47869
+
47870
+ Patch 9.1.1203
47871
+ Problem: matchparen keeps cursor on case label in sh filetype
47872
+ (@categorical, after 9.1.1187).
47873
+ Solution: Use :defer so that cursor is always restored, remove checks
47874
+ for older Vims, finish early if Vim does not support :defer
47875
+
47876
+ Patch 9.1.1204
47877
+ Problem: MS-Windows: crash when passing long string to expand() with
47878
+ 'wildignorecase'.
47879
+ Solution: Use the same buflen as unix_expandpath() in dos_expandpath().
47880
+ Remove an unnecessary STRLEN() while at it (zeertzjq).
47881
+
47882
+ Patch 9.1.1205
47883
+ Problem: completion: preinserted text not removed when closing pum
47884
+ Solution: Delete preinsert text inside in ins_compl_stop() (glepnir).
47885
+
47886
+ Patch 9.1.1206
47887
+ Problem: tests: test_filetype fails when a file is a directory
47888
+ (Eisuke Kawashima)
47889
+ Solution: When encountering a directory instead of a file, skip that
47890
+ particular filetype test.
47891
+
47892
+ Patch 9.1.1207
47893
+ Problem: MS-Windows: build warning in filepath.c (after v9.1.1204).
47894
+ Solution: Add type cast (John Marriott).
47895
+
47896
+ Patch 9.1.1208
47897
+ Problem: MS-Windows: not correctly restoring alternate screen on Win 10
47898
+ after ssh (Daniel Viberg)
47899
+ Solution: Return a bit later in RestoreConsoleBuffer() (Christopher Plewright)
47900
+
47901
+ Patch 9.1.1209
47902
+ Problem: colorcolumn not drawn after virtual text lines
47903
+ Solution: Show colorcolumn on correct line with virtual text by adding
47904
+ the size of p_extra to virtual column offset (Matthias).
47905
+
47906
+ Patch 9.1.1210
47907
+ Problem: translation(ru): missing Russian translation for the new tutor
47908
+ Solution: Include new Russian translation, update the Makefile for
47909
+ installing the new translations (RestorerZ).
47910
+
47911
+ Patch 9.1.1211
47912
+ Problem: TabClosedPre is triggered just before the tab is being freed,
47913
+ which limited its functionality.
47914
+ Solution: Trigger it a bit earlier and also on :tabclose and :tabonly
47915
+ (Jim Zhou).
47916
+
47917
+ Patch 9.1.1212
47918
+ Problem: filetype: logrotate'd pacmanlogs are not recognized
47919
+ Solution: Also detect pacman.log* files as pacmanlog filetype,
47920
+ remove BufNewFile autocmd (Eisuke Kawashima).
47921
+
47922
+ Patch 9.1.1212
47923
+ Problem: too many strlen() calls in edit.c
47924
+ Solution: Refactor edit.c and remove strlen() calls (John Marriott).
47925
+
47926
+ Patch 9.1.1213
47927
+ Problem: cannot :put while keeping indent (Peter Aronoff)
47928
+ Solution: Add the :iput ex command (64-bitman).
47929
+
47930
+ Patch 9.1.1214
47931
+ Problem: When searching for "Cur", CamelCase matches like "lCursor" score
47932
+ higher than exact prefix matches like Cursor, which is
47933
+ counter-intuitive (Maxim Kim).
47934
+ Solution: Add a 'camelcase' option to matchfuzzy() that lets users disable
47935
+ CamelCase bonuses when needed, making prefix matches rank higher
47936
+ (glepnir).
47937
+
47938
+ Patch 9.1.1215
47939
+ Problem: Patch 9.1.1213 has some issues
47940
+ Solution: Revert it for now
47941
+
47942
+ Patch 9.1.1216
47943
+ Problem: Pasting the '.' register multiple times may work incorrectly
47944
+ when the last insert starts with Ctrl-D and ends with '0'
47945
+ (after 9.1.1212).
47946
+ Solution: Restore the missing assignment (zeertzjq).
47947
+
47948
+ Patch 9.1.1217
47949
+ Problem: tests: typos in test_matchfuzzy.vim (after 9.1.1214).
47950
+ Solution: Fix the typos. Consistently put the function call on the
47951
+ second line in assertions for camelcase (zeertzjq).
47952
+
47953
+ Patch 9.1.1218
47954
+ Problem: missing out-of-memory check in filepath.c
47955
+ Solution: Add check for NULL (John Marriott).
47956
+
47957
+ Patch 9.1.1219
47958
+ Problem: Strange error with type for matchfuzzy() "camelcase".
47959
+ Solution: Show the error "Invalid value for argument camelcase" instead
47960
+ of "Invalid argument: camelcase" (zeertzjq).
47961
+
47962
+ Patch 9.1.1220
47963
+ Problem: filetype: uv.lock file not recognized
47964
+ Solution: detect uv.lock file as toml filetype (Acaibird).
47965
+
47966
+ Patch 9.1.1221
47967
+ Problem: Wrong cursor position and '^' mark when leaving Insert mode
47968
+ just after 'autoindent' and cursor on last char of line.
47969
+ Solution: Don't move cursor to NUL when it wasn't moved to the left (zeertzjq)
47970
+
47971
+ Patch 9.1.1222
47972
+ Problem: using wrong length for last inserted string
47973
+ (Christ van Willegen, after v9.1.1212)
47974
+ Solution: Use the correct length in get_last_insert_save(), make
47975
+ get_last_insert() return a string_T (John Marriott).
47976
+
47977
+ Patch 9.1.1223
47978
+ Problem: wrong translation for encoding failures because of using
47979
+ literal "from" and "to" in the resulting error message (RestorerZ)
47980
+ Solution: Use separate error messages for errors "from" and "to"
47981
+ encoding errors.
47982
+
47983
+ Patch 9.1.1224
47984
+ Problem: cannot :put while keeping indent (Peter Aronoff)
47985
+ Solution: Add the :iput ex command (64-bitman).
47986
+
47987
+ Patch 9.1.1225
47988
+ Problem: extra NULL check in VIM_CLEAR()
47989
+ Solution: Remove the NULL check and rely on the NULL check in vim_free()
47990
+ instead (Hirohito Higashi).
47991
+
47992
+ Patch 9.1.1226
47993
+ Problem: "shellcmdline" completion doesn't work with input().
47994
+ Solution: Use set_context_for_wildcard_arg(). Fix indent in nextwild()
47995
+ (zeertzjq).
47996
+
47997
+ Patch 9.1.1227
47998
+ Problem: no tests for the comment package
47999
+ Solution: Add some tests (Maxim Kim).
48000
+
48001
+ Patch 9.1.1228
48002
+ Problem: The current_pos.col was incorrectly updated to the length of
48003
+ the matching text. This will cause the next search to start
48004
+ from the wrong position.
48005
+ Solution: Current_pos has already been updated in search_str_in_line and
48006
+ does not need to be changed (glepnir).
48007
+
48008
+ Patch 9.1.1229
48009
+ Problem: the comment plugin can be improved
48010
+ Solution: add comment text objects "ic" and "ac" (Maxim Kim).
48011
+
48012
+ Patch 9.1.1230
48013
+ Problem: Ctrl-C closes popup windows that have a filter callback,
48014
+ but does not close popups without a filter callback.
48015
+ Solution: Modified popup_do_filter() to also close popups without
48016
+ filter callback when Ctrl-C is pressed (glepnir).
48017
+
48018
+ Patch 9.1.1231
48019
+ Problem: filetype: SPA (single page application) JSON files are not
48020
+ recognized (used by pipewire and wireplumber)
48021
+ Solution: Detect pipewire and wireplumber configuration files as spajson
48022
+ filetype, include filetype, indent and syntax scripts for this
48023
+ new filetype (David Mandelberg).
48024
+
48025
+ Patch 9.1.1232
48026
+ Problem: Vim script is missing the tuple data type
48027
+ Solution: Add support for the tuple data type (Yegappan Lakshmanan).
48028
+
48029
+ Patch 9.1.1233
48030
+ Problem: Coverity warns about NULL pointer when triggering WinResized
48031
+ Solution: Add OOM checks for windows_list like for scroll_dict. Remove
48032
+ void casts that are unnecessary after 9.1.1084 (zeertzjq).
48033
+
48034
+ Patch 9.1.1234
48035
+ Problem: Compile error when SIZE_MAX is not defined
48036
+ Solution: Define SIZE_MAX (Zoltan Arpadffy).
48037
+
48038
+ Patch 9.1.1235
48039
+ Problem: cproto files are outdated
48040
+ Solution: regenerate proto files by running make proto (Yegappan Lakshmanan).
48041
+
48042
+ Patch 9.1.1236
48043
+ Problem: tests: test_comments leaves swapfiles around
48044
+ Solution: use ':bw!' instead of ':close!'
48045
+
48046
+ Patch 9.1.1237
48047
+ Problem: Compile error with C89 compiler in term.c (Zoltan Arpadffy)
48048
+ Solution: split out LOG_TR macro into 2 different macros. LOG_TR1 that
48049
+ takes only a single argument and LOG_TRN that takes 2
48050
+ arguments. Remove the use of ##__VA_ARGS__ since the macro is
48051
+ now always called with 2 arguments (Hirohito Higashi).
48052
+
48053
+ Patch 9.1.1238
48054
+ Problem: With ':set splitkeep=screen', cursor did't restore column
48055
+ correctly when splitting a window on a line longer than the
48056
+ last line on the screen (after v9.1.0707)
48057
+ Solution: Restore cursor column in `win_fix_scroll()` since it may be
48058
+ changed in `getvcol()` after 396fd1ec2956 (phanium).
48059
+
48060
+ Patch 9.1.1239
48061
+ Problem: if_python: no tuple data type support (after v9.1.1232)
48062
+ Solution: Add support for using Vim tuple in the python interface
48063
+ (Yegappan Lakshmanan).
48064
+
48065
+ Patch 9.1.1240
48066
+ Problem: Regression with ic/ac text objects and comment plugin
48067
+ Solution: Fix regression, update tests (Maxim Kim).
48068
+
48069
+ Patch 9.1.1241
48070
+ Problem: wrong preprocessort indentation in term.c
48071
+ Solution: update indentation (Hirohito Higashi).
48072
+
48073
+ Patch 9.1.1242
48074
+ Problem: Crash when evaluating variable name (after v9.1.0870)
48075
+ Solution: Calculate the strlen() directly instead of pointer
48076
+ arithmetics, fix missing assignment to lp->ll_name_end in
48077
+ get_lval() (zeertzjq).
48078
+
48079
+ Patch 9.1.1243
48080
+ Problem: Diff mode's inline highlighting is lackluster. It only
48081
+ performs a line-by-line comparison, and calculates a single
48082
+ shortest range within a line that could encompass all the
48083
+ changes. In lines with multiple changes, or those that span
48084
+ multiple lines, this approach tends to end up highlighting
48085
+ much more than necessary.
48086
+ Solution: Implement new inline highlighting modes by doing per-character
48087
+ or per-word diff within the diff block, and highlight only the
48088
+ relevant parts, add "inline:simple" to the defaults (which is
48089
+ the old behaviour) (Yee Cheng Chin)
48090
+
48091
+ Patch 9.1.1244
48092
+ Problem: part of Patch v9.1.1242 was wrong
48093
+ Solution: Revert part of the Patch.
48094
+
48095
+ Patch 9.1.1245
48096
+ Problem: need some more tests for curly braces evaluation
48097
+ Solution: Add a test for the regression introduced by Patch v9.1.1242
48098
+ (Yegappan Lakshmanan).
48099
+
48100
+ Patch 9.1.1246
48101
+ Problem: coverity complains about some changes in v9.1.1243
48102
+ Solution: Remove duplicate code in diff_find_changed() (Yee Cheng Chin).
48103
+
48104
+ Patch 9.1.1247
48105
+ Problem: fragile setup to get (preferred) keys from key_name_entry
48106
+ (after v9.1.1179)
48107
+ Solution: Refactor the code further, fix a bug with "pref_name" key
48108
+ entry introduced in v9.1.1180 (Yee Cheng Chin)
48109
+
48110
+ Patch 9.1.1248
48111
+ Problem: compile error when building without FEAT_QUICKFIX
48112
+ Solution: Adjust ifdefs in popupwin.c, add CheckFeature quickfix
48113
+ to a few tests (John Marriott, Hirohito Higashi).
48114
+
48115
+ Patch 9.1.1249
48116
+ Problem: No test that 'listchars' "eol" doesn't affect "gM".
48117
+ Solution: Add a test (zeertzjq).
48118
+
48119
+ Patch 9.1.1250
48120
+ Problem: cannot set the maximum popup menu width (Lucas Mior)
48121
+ Solution: add the new global option value 'pummaxwidth' (glepnir).
48122
+
48123
+ Patch 9.1.1251
48124
+ Problem: if_python: build error with tuples and dynamic python
48125
+ (after v9.1.1239)
48126
+ Solution: Fix build error and test failures (Yee Cheng Cin).
48127
+
48128
+ Patch 9.1.1252
48129
+ Problem: Typos in code and docs related to 'diffopt' "inline:".
48130
+ (after v9.1.1243)
48131
+ Solution: Fix typos and slightly improve the docs (zeertzjq).
48132
+
48133
+ Patch 9.1.1253
48134
+ Problem: If win_close() is called with a window that has quickfix stack
48135
+ attached to it, the corresponding quickfix buffer will be
48136
+ closed and freed after the buffer was already closed. At that
48137
+ time curwin->w_buffer points to NULL, which the CHECK_CURBUF
48138
+ will catch and abort if ABORT_ON_ERROR is defined.
48139
+ Solution: In wipe_qf_buffer() temporarily point curwin->w_buffer back to
48140
+ curbuf, the window will be closed anyhow, so it shouldn't
48141
+ matter that curbuf->b_nwindows isn't incremented.
48142
+
48143
+ Patch 9.1.1254
48144
+ Problem: need more tests for the comment plugin
48145
+ Solution: Add a tests for the [gb]:comment_first_col setting (Maxim Kim).
48146
+
48147
+ Patch 9.1.1255
48148
+ Problem: missing test condition for 'pummaxwidth' setting, pummaxwidth
48149
+ not effective when width is 32 and height is 10 (after v9.1.1250).
48150
+ Solution: Add missing comparison condition in pum_width() (glepnir).
48151
+
48152
+ Patch 9.1.1256
48153
+ Problem: if_python: duplicate tuple data entries (after v9.1.1239)
48154
+ Solution: clean up duplicates (Yegappan Lakshmanan).
48155
+
48156
+ Patch 9.1.1257
48157
+ Problem: Mixing vim_strsize() with mb_ptr2cells() in pum_redraw().
48158
+ Solution: Change vim_strsize() to mb_string2cells() (zeertzjq).
48159
+
48160
+ Patch 9.1.1258
48161
+ Problem: regexp: max \U and \%U value is limited by INT_MAX but gives a
48162
+ confusing error message
48163
+ Solution: Give a better error message when the value reaches INT_MAX
48164
+
48165
+ Patch 9.1.1259
48166
+ Problem: some issues with comment package and tailing spaces
48167
+ Solution: Correctly capture trailing spaces with the ac/ic text object
48168
+ (Maxim Kim).
48169
+
48170
+ Patch 9.1.1260
48171
+ Problem: Hang when filtering buffer with NUL bytes (after 9.1.1050).
48172
+ Solution: Don't subtract "written" from "lplen" repeatedly (zeertzjq).
48173
+
48174
+ Patch 9.1.1261
48175
+ Problem: No test for 'pummaxwidth' non-truncated items (after v9.1.1250)
48176
+ Solution: Add shorter items to Test_pum_maxwidth_multibyte() (zeertzjq).
48177
+
48178
+ Patch 9.1.1262
48179
+ Problem: heap-buffer-overflow occurs with narrow 'pummaxwidth' value
48180
+ (after v9.1.1250)
48181
+ Solution: Test that st_end points after st pointer (Hirohito Higashi).
48182
+
48183
+ Patch 9.1.1263
48184
+ Problem: string length wrong in get_last_inserted_save() (after v9.1.1222).
48185
+ Solution: When removing trailing ESC, also decrease the string length
48186
+ (Christ van Willegen).
48187
+
48188
+ Patch 9.1.1264
48189
+ Problem: Vim9: error when comparing objects (lifepillar)
48190
+ Solution: When comparing object types, compare their classes
48191
+ (Yegappan Lakshmanan)
48192
+
48193
+ Patch 9.1.1265
48194
+ Problem: tests: no tests for typing normal char during completion
48195
+ Solution: Add a test verifying the default behaviour (see :h
48196
+ popupmenu-completion)
48197
+
48198
+ Patch 9.1.1266
48199
+ Problem: MS-Windows: type conversion warnings
48200
+ Solution: Cast the variables (Yegappan Lakshmanan).
48201
+
48202
+ Patch 9.1.1267
48203
+ Problem: Vim9: no support for type list/dict<object<any>>
48204
+ Solution: Add proper support for t_object_any (Yegappan Lakshmanan).
48205
+
48206
+ Patch 9.1.1268
48207
+ Problem: filetype: dax files are not recognized
48208
+ Solution: Detect "*.dax" as dax filetype, include dax filetype and
48209
+ syntax plugin (Anarion Dunedain).
48210
+
48211
+ Patch 9.1.1269
48212
+ Problem: compl_shown_match is updated when starting keyword completion
48213
+ and does not include fuzzy matching.
48214
+ Solution: Do not update compl_shown_match when starting keyword
48215
+ completion, since it is the one already selected by the
48216
+ keyword completion direction (glepnir).
48217
+
48218
+ Patch 9.1.1270
48219
+ Problem: missing out-of-memory checks in buffer.c
48220
+ Solution: Handle out-of-memory situations during allocation (John Marriott).
48221
+
48222
+ Patch 9.1.1271
48223
+ Problem: filetype: Power Query files are not recognized
48224
+ Solution: Detect '*.pq' as pq filetype, include pq syntax and filetype
48225
+ plugin (Anarion Dunedain).
48226
+
48227
+ Patch 9.1.1272
48228
+ Problem: completion: in keyword completion Ctrl_P cannot go back after
48229
+ Ctrl_N
48230
+ Solution: in find_compl_when_fuzzy() always return first match of array, after
48231
+ Ctrl_P use compl_shown_match->cp_next instead of compl_first_match.
48232
+ (glepnir)
48233
+
48234
+ Patch 9.1.1273
48235
+ Problem: Coverity warns about using uninitialized value (after 9.1.1270).
48236
+ Solution: Put an empty string in "buf" when allocation fails (zeertzjq).
48237
+
48238
+ Patch 9.1.1274
48239
+ Problem: Vim9: no support for object<type> as variable type
48240
+ Solution: Add support for object<type> (Yegappan Lakshmanan).
48241
+
48242
+ Patch 9.1.1275
48243
+ Problem: MS-Windows: Not possible to pass additional flags to Make_mvc
48244
+ Solution: Introduce $CI_FLAGS and use it to pass additional flags for
48245
+ the Github CI in order to treat size conversion warnings
48246
+ (C4267) as errors (Yegappan Lakshmanan).
48247
+
48248
+ Patch 9.1.1276
48249
+ Problem: inline word diff treats multibyte chars as word char
48250
+ (after 9.1.1243)
48251
+ Solution: Treat all non-alphanumeric characters as non-word characters
48252
+ (Yee Cheng Chin)
48253
+
48254
+ Patch 9.1.1277
48255
+ Problem: tests: trailing comment char in test_popupwin
48256
+ Solution: Remove crufty tail comment (Doug Kearns)
48257
+
48258
+ Patch 9.1.1278
48259
+ Problem: Vim9: too long functions in vim9type.c
48260
+ Solution: Refactor into separate functions (Yegappan Lakshmanan).
48261
+
48262
+ Patch 9.1.1279
48263
+ Problem: Vim9: null_object and null_class are no reserved names
48264
+ Solution: Add null_object and null_class as reserved names
48265
+ (Yegappan Lakshmanan).
48266
+
48267
+ Patch 9.1.1280
48268
+ Problem: trailing additional semicolon in get_matches_in_str()
48269
+ (Hirohito Higashi)
48270
+ Solution: Remove it (Satoru Kitaguchi).
48271
+
48272
+ Patch 9.1.1281
48273
+ Problem: extra newline output when editing stdin
48274
+ Solution: Remove outputting when reading from stdin in non-terminal mode
48275
+ (Abhijit Barik).
48276
+
48277
+ Patch 9.1.1282
48278
+ Problem: Build and test failure without job feature (lazypingu).
48279
+ Solution: Adjust ifdefs, add CheckFeature job to tests.
48280
+
48281
+ Patch 9.1.1283
48282
+ Problem: quickfix and location-list stack is limited to 10 items
48283
+ Solution: Add the 'chistory' and 'lhistory' options to configure a
48284
+ larger quickfix/location list stack (64-bitman).
48285
+
48286
+ Patch 9.1.1284
48287
+ Problem: not possible to configure the completion menu truncation
48288
+ character
48289
+ Solution: Add the "trunc" suboption to the 'fillchars' setting to
48290
+ configure the truncation indicator (glepnir).
48291
+
48292
+ Patch 9.1.1285
48293
+ Problem: Vim9: no error message for missing method after "super."
48294
+ Solution: Output an error message, add a few more tests (Yegappan Lakshmanan).
48295
+
48296
+ Patch 9.1.1286
48297
+ Problem: Help files not detected when 'iskeyword' includes ":".
48298
+ Solution: Do not use \< and \> in the pattern (zeertzjq).
48299
+
48300
+ Patch 9.1.1287
48301
+ Problem: quickfix code can be further improved (after v9.1.1283)
48302
+ Solution: Slightly refactor quickfix.c (Hirohito Higashi).
48303
+
48304
+ Patch 9.1.1288
48305
+ Problem: Using wrong window in ll_resize_stack() (after v9.1.1287)
48306
+ Solution: Use "wp" instead of "curwin", even though they are always the
48307
+ same value. Fix typos in documentation (zeertzjq).
48308
+
48309
+ Patch 9.1.1289
48310
+ Problem: tests: no test for matchparen plugin with WinScrolled event
48311
+ Solution: Add missing test.
48312
+
48313
+ Patch 9.1.1290
48314
+ Problem: tests: missing cleanup in test_filetype.vim, wrong name in
48315
+ test_plugin_matchparen
48316
+ Solution: Add :bwipe corresponding to :split, rename test case.
48317
+
48318
+ Patch 9.1.1291
48319
+ Problem: too many strlen() calls in buffer.c
48320
+ Solution: Refactor buffer.c and remove strlen() calls (John Marriott).
48321
+
48322
+ Patch 9.1.1292
48323
+ Problem: statusline not correctly evaluated (Peter Kenny, after v9.1.1291)
48324
+ Solution: Revert part of Patch v9.1.1291 (Hirohito Higashi).
48325
+
48326
+ Patch 9.1.1293
48327
+ Problem: comment plugin does not handle 'exclusive' selection for
48328
+ comment object (@mawkish)
48329
+ Solution: Handle special case selection='exclusive' for inline comment
48330
+ object (Maxim Kim).
48331
+
48332
+ Patch 9.1.1294
48333
+ Problem: gui tabline menu does not use confirm when closing tabs
48334
+ Solution: Use ":confirm tabclose" explicitly (JMcKiern).
48335
+
48336
+ Patch 9.1.1295
48337
+ Problem: clientserver: When in insert mode, a :stopinsert command
48338
+ is not correctly processed (user202729)
48339
+ Solution: If the :stopinsert command is received while waiting for
48340
+ input, stuff the NOP key into the type-ahead buffer and
48341
+ detect that :stopinsert was used in edit() so that the
48342
+ cursor position is decremented.
48343
+
48344
+ Patch 9.1.1296
48345
+ Problem: completion: incorrect truncation logic (after: v9.1.1284)
48346
+ Solution: Replace string allocation with direct screen rendering and
48347
+ fix RTL/LTR truncation calculations (glepnir).
48348
+
48349
+ Patch 9.1.1297
48350
+ Problem: cursor_correct() calculates a valid cursor position which
48351
+ is later changed by update_topline() and causes Ctrl-D
48352
+ scrolling to be stuck (Daniel Steinberg, after v9.1.0258).
48353
+ Solution: Update the valid cursor position before validating topline
48354
+ (Luuk van Baal).
48355
+
48356
+ Patch 9.1.1298
48357
+ Problem: define_function() is too long
48358
+ Solution: Refactor and split up into smaller functions (Yegappan Lakshmanan).
48359
+
48360
+ Patch 9.1.1299
48361
+ Problem: filetype: mbsyncrc files are not recognized
48362
+ Solution: Detect isyncrc and "*.mbsyncrc" files as mbsync filetype,
48363
+ include filetype and syntax plugin (Pierrick Guillaume).
48364
+
48365
+ Patch 9.1.1300
48366
+ Problem: wrong detection of -inf
48367
+ Solution: Correctly compare 4 characters and not 3 (John Marriott).
48368
+
48369
+ Patch 9.1.1301
48370
+ Problem: completion: cannot configure completion functions with
48371
+ 'complete'
48372
+ Solution: Add support for setting completion functions using the f and o
48373
+ flag for 'complete' (Girish Palya)
48374
+
48375
+ Patch 9.1.1302
48376
+ Problem: Coverity warns about using uninitialized value
48377
+ (Coverity, Tony Mechelynck, after v9.1.1301)
48378
+ Solution: Initialize callback pointer to NULL
48379
+
48380
+ Patch 9.1.1303
48381
+ Problem: missing out-of-memory check in linematch.c
48382
+ Solution: Return early in case of memory allocation failure, move the
48383
+ pow() calculation ouside of the for() loop (John Marriott).
48384
+
48385
+ Patch 9.1.1304
48386
+ Problem: filetype: some man files are not recognized
48387
+ (e.g. 1p (POSIX commands))
48388
+ Solution: Update the filetype detection pattern and detect more man
48389
+ files as nroff (Eisuke Kawashima).
48390
+
48391
+ Patch 9.1.1305
48392
+ Problem: When switching to another window or tab page while the
48393
+ completion menu is active, the menu stays visible, although it
48394
+ belongs to the previous window/tab page context (Evgeni
48395
+ Chasnovski).
48396
+ Solution: Track the window and tab page where completion started. Detect
48397
+ changes in the main editing loop and cancel completion mode if
48398
+ the current window or tab page differs from where completion
48399
+ started.
48400
+
48401
+ Patch 9.1.1306
48402
+ Problem: Parts of the popup menu were rendered twice when the popup was
48403
+ at maximum width because the truncation flag was being set too
48404
+ liberally.
48405
+ Solution: Make the truncation condition more precise by only setting it
48406
+ when there's exactly one character of space remaining (glepnir).
48407
+
48408
+ Patch 9.1.1307
48409
+ Problem: GNU extensions, such as `ifeq` and `wildcard` function, are
48410
+ highlighted in BSDmakefile
48411
+ Solution: Detect BSD, GNU, or Microsoft implementation according to
48412
+ filename, user-defined global variables, or file contents.
48413
+
48414
+ Patch 9.1.1308
48415
+ Problem: During insert-mode completion, the most relevant match is often
48416
+ the one closest to the cursor—frequently just above the current line.
48417
+ However, both `<C-N>` and `<C-P>` tend to rank candidates from the
48418
+ current buffer that appear above the cursor near the bottom of the
48419
+ completion menu, rather than near the top. This ordering can feel
48420
+ unintuitive, especially when `noselect` is active, as it doesn't
48421
+ prioritize the most contextually relevant suggestions.
48422
+ Solution: This change introduces a new sub-option value "nearest" for the
48423
+ 'completeopt' setting. When enabled, matches from the current buffer
48424
+ are prioritized based on their proximity to the cursor position,
48425
+ improving the relevance of suggestions during completion
48426
+ (Girish Palya).
48427
+
48428
+ Patch 9.1.1309
48429
+ Problem: tests: no test for 'pummaxwidth' with non-truncated "kind".
48430
+ Solution: Add a test with "kind" and larger 'pummaxwidth' (zeertzjq).
48431
+
48432
+ Patch 9.1.1310
48433
+ Problem: Duplicate check for preinsert effect, particularly for Ctrl_w
48434
+ and Ctrl_U.
48435
+ Solution: Remove the specific check for Ctrl_w and Ctrl_U to eliminate
48436
+ redundancy (glepnir).
48437
+
48438
+ Patch 9.1.1311
48439
+ Problem: completion: not possible to limit number of matches
48440
+ Solution: allow to limit the matches for 'complete' sources by using the
48441
+ "{flag}^{limit}" notation (Girish Palya)
48442
+
48443
+ Patch 9.1.1312
48444
+ Problem: tests: Test_backupskip() fails when HOME is defined
48445
+ Solution: Unset $HOME temporarily
48446
+
48447
+ Patch 9.1.1313
48448
+ Problem: compile warning about uninitialized value
48449
+ (Tony Mechelynck, after v9.1.1311)
48450
+ Solution: Initialize variable on declaration
48451
+
48452
+ Patch 9.1.1314
48453
+ Problem: max allowed string width too small
48454
+ Solution: Increased MAX_ALLOWED_STRING_WIDTH from 6400 to 1MiB
48455
+ (Hirohito Higashi)
48456
+
48457
+ Patch 9.1.1315
48458
+ Problem: chain complete does not work when 'cot' includes fuzzy
48459
+ and 'completefuzzycollect' collects wrong next word (Konfekt).
48460
+ Solution: Compl_startpos is not set correctly, remove next word check
48461
+ in search_for_fuzzy_match (glepnir).
48462
+
48463
+ Patch 9.1.1316
48464
+ Problem: missing memory allocation failure in os_mswin.c
48465
+ Solution: Check for memory allocation failure and return early (John Marriott)
48466
+
48467
+ Patch 9.1.1317
48468
+ Problem: noisy error when restoring folds from session fails
48469
+ Solution: ignore errors silently when sourcing session file (Igor Lacerda).
48470
+
48471
+ Patch 9.1.1318
48472
+ Problem: tests: test_format fails (after 9.1.1314).
48473
+ Solution: Increase the string size. Add missing test_format.res in
48474
+ NEW_TESTS_RES (zeertzjq).
48475
+
48476
+ Patch 9.1.1319
48477
+ Problem: Various typos in the code, redundant and strange use of
48478
+ :execute in test_ins_complete.vim (after 9.1.1315).
48479
+ Solution: Fix typos in the code and in the documentation, use the
48480
+ executed command directly (zeertzjq).
48481
+
48482
+ Patch 9.1.1320
48483
+ Problem: filetype: alsoft config files are not recognized
48484
+ Solution: Detect alsoft config files as dosini filetype (David Mandelberg).
48485
+
48486
+ Patch 9.1.1321
48487
+ Problem: filetype: MS ixx and mpp files are not recognized
48488
+ Solution: Detect *.mpp and *.ixx files as c++ filetype (Hampus Avekvist).
48489
+
48490
+ Patch 9.1.1322
48491
+ Problem: small delete register cannot paste multi-line correctly
48492
+ (after v8.2.2189)
48493
+ Solution: Make this logic handle charwise only (phanium).
48494
+
48495
+ Patch 9.1.1323
48496
+ Problem: b:undo_ftplugin not executed when re-using buffer (archy3)
48497
+ Solution: Explicitly execute b:undo_ftplugin in buflist_new() when
48498
+ re-using the current buffer.
48499
+
48500
+ Patch 9.1.1324
48501
+ Problem: undefined behaviour if X11 connection dies
48502
+ Solution: Call setjmp() before the main_loop() and restore x11 state
48503
+ if the X11 connection dies (Foxe Chen).
48504
+
48505
+ Patch 9.1.1325
48506
+ Problem: tests: not checking error numbers properly.
48507
+ Solution: Add a trailing comma to avoid matching a different error
48508
+ number with the same prefix (zeertzjq).
48509
+
48510
+ Patch 9.1.1326
48511
+ Problem: invalid cursor position after 'tagfunc' (gandalf4a).
48512
+ Solution: Call check_cursor() after executing the 'tagfunc'.
48513
+
48514
+ Patch 9.1.1327
48515
+ Problem: filetype: nroff detection can be improved
48516
+ Solution: Improve nroff detection (Eisuke Kawashima)
48517
+
48518
+ Patch 9.1.1328
48519
+ Problem: too many strlen() calls in indent.c
48520
+ Solution: Refactor indent.c slightly and remove strlen() calls (John Marriott)
48521
+
48522
+ Patch 9.1.1329
48523
+ Problem: cannot get information about command line completion
48524
+ Solution: Add CmdlineLeavePre autocommand and cmdcomplete_info() Vim
48525
+ script function (Girish Palya)
48526
+
48527
+ Patch 9.1.1330
48528
+ Problem: may receive E315 in terminal
48529
+ Solution: Call check_cursor() (Hirohito Higashi).
48530
+
48531
+ Patch 9.1.1331
48532
+ Problem: Leaking memory with cmdcomplete() (zeertzjq, after v9.1.1329)
48533
+ Solution: Free the memory (Girish Palya).
48534
+
48535
+ Patch 9.1.1332
48536
+ Problem: Vim9: segfault when using super within a lambda (lifepillar)
48537
+ Solution: Inherit the class from the current function (Yegappan Lakshmanan).
48538
+
48539
+ Patch 9.1.1333
48540
+ Problem: Coverity: complains about unutilized variable
48541
+ Solution: Initialize typval properly
48542
+
48543
+ Patch 9.1.1334
48544
+ Problem: Coverity complains about unchecked return value
48545
+ Solution: Cast return value to (void)
48546
+
48547
+ Patch 9.1.1335
48548
+ Problem: Coverity complains about Null pointer dereferences
48549
+ Solution: Before accessing ccline->cmdbuff check that ccline is not NULL
48550
+
48551
+ Patch 9.1.1336
48552
+ Problem: comment plugin does not support case-insensitive
48553
+ 'commentstring' (char101)
48554
+ Solution: Use pattern '\c' to make the regex case-insensitive (Maxim Kim).
48555
+
48556
+ Patch 9.1.1337
48557
+ Problem: Undo corrupted with 'completeopt' "preinsert" when switching
48558
+ buffer or window.
48559
+ Solution: Do not delete preinsert text when switching buffer or window
48560
+ (zeertzjq).
48561
+
48562
+ Patch 9.1.1338
48563
+ Problem: Calling expand() interferes with cmdcomplete_info() (after 9.1.1329)
48564
+ Solution: Only clear cmdline_orig when starting/ending cmdline mode (zeertzjq)
48565
+
48566
+ Patch 9.1.1339
48567
+ Problem: missing out-of-memory checks for enc_to_utf16() and utf16_to_enc()
48568
+ Solution: Add out-of-memory checks and fix a few other minor issues
48569
+ (John Marriott)
48570
+
48571
+ Patch 9.1.1340
48572
+ Problem: cannot complete :filetype arguments (Phạm Bình An)
48573
+ Solution: Add :filetype ex command completion, add "filetypecmd"
48574
+ completion type for getcompletion()
48575
+
48576
+ Patch 9.1.1341
48577
+ Problem: Cannot define completion triggers and act upon it
48578
+ Solution: Add the new option 'isexpand' and add the complete_match()
48579
+ function to return the completion matches according to the
48580
+ 'isexpand' setting (glepnir)
48581
+
48582
+ Patch 9.1.1342
48583
+ Problem: Shebang filetype detection can be improved
48584
+ Solution: Improve detection logic (Eisuke Kawashima)
48585
+
48586
+ Patch 9.1.1343
48587
+ Problem: filetype: IPython files are not recognized (user202729).
48588
+ Solution: Detect *.ipy files as python filetype.
48589
+
48590
+ Patch 9.1.1344
48591
+ Problem: double free in f_complete_match() (after v9.1.1341)
48592
+ Solution: Remove additional free of trig pointer, correctly free
48593
+ regmatch.regprog and before_cursor in the error case.
48594
+
48595
+ Patch 9.1.1345
48596
+ Problem: tests: Test_xxd_color2() test failure dump diff is misleading
48597
+ Solution: Ensure the reference dump and the test dump are both processed the
48598
+ same (Drew Vogel).
48599
+
48600
+ Patch 9.1.1346
48601
+ Problem: missing out-of-memory check in textformat.c
48602
+ Solution: Add out-of-memory check, add small optimizations to
48603
+ internal_format() and same_leader() (John Marriott)
48604
+
48605
+ Patch 9.1.1347
48606
+ Problem: small problems with gui_w32.c
48607
+ Solution: Fix compile warnings and refactor code (John Marriott)
48608
+
48609
+ Patch 9.1.1348
48610
+ Problem: still E315 with the terminal feature (user202729)
48611
+ Solution: Call update_topline() in limit_scrollback() (Hirohito Higashi).
48612
+
48613
+ Patch 9.1.1349
48614
+ Problem: CmdlineLeavePre may trigger twice (after v9.1.1329)
48615
+ Solution: Check that the key was typed, trigger it when it wasn't before
48616
+ (Girish Palya).
48617
+
48618
+ Patch 9.1.1350
48619
+ Problem: tests: typo in Test_CmdlineLeavePre_cabbr() (after v9.1.1349)
48620
+ Solution: Fix typo, disable failing test on Windows for now (Girish Palya).
48621
+
48622
+ Patch 9.1.1351
48623
+ Problem: Return value of getcmdline() inconsistent in CmdlineLeavePre
48624
+ when leaving cmdline in different ways (after v9.1.1329).
48625
+ Solution: Trigger CmdlineLeavePre before calling abandon_cmdline() so
48626
+ that getcmdline() can return the command line (zeertzjq).
48627
+
48628
+ Patch 9.1.1352
48629
+ Problem: style: inconsistent indent in insexpand.c
48630
+ Solution: Fix indentation (Hirohito Higashi).
48631
+
48632
+ Patch 9.1.1353
48633
+ Problem: missing change from v9.1.1350
48634
+ Solution: Update the test Test_CmdlineTrigger() (Girish Palya).
48635
+
48636
+ Patch 9.1.1354
48637
+ Problem: tests: Test_terminalwinscroll_topline() fails on Windows
48638
+ Solution: Instead of disabling it in Github Actions runners, disable it
48639
+ for all Windows runs.
48640
+
48641
+ Patch 9.1.1355
48642
+ Problem: The pum_redraw function is too complex and difficult to
48643
+ maintain with nested loops and mixed responsibilities handling
48644
+ both RTL and LTR text rendering.
48645
+ Solution: Extracted core rendering logic into dedicated helper functions
48646
+ (pum_display_rtl_text, pum_display_ltr_text, pum_draw_scrollbar,
48647
+ pum_process_item) while preserving the original behavior. This
48648
+ improves code readability and maintainability (glepnir).
48649
+
48650
+ Patch 9.1.1356
48651
+ Problem: Vim9: crash when unletting variable
48652
+ Solution: Fix crash, allow to use :unlet (Hirohito Higashi).
48653
+
48654
+ Patch 9.1.1357
48655
+ Problem: Vim incorrectly escapes tags containing "[" in a help buffer
48656
+ Solution: Check if the buffer has the "help" filetype set, instead of
48657
+ already being a help buffer (Phạm Bình An).
48658
+
48659
+ Patch 9.1.1358
48660
+ Problem: if_lua: compile warnings with gcc15
48661
+ Solution: Update function prototypes (lilydjwg).
48662
+
48663
+ Patch 9.1.1359
48664
+ Problem: filetype: GNU Radio config files are not recognized.
48665
+ Solution: Detect GNU Radio config files as confini filetype. Only
48666
+ allow '#' as start of comment in confini syntax (zeertzjq).
48667
+
48668
+ Patch 9.1.1360
48669
+ Problem: filetype: GNU Radio companion files are not recognized
48670
+ Solution: Detect *.grc files as xml or yaml filetype depending on the
48671
+ first line (zeertzjq).
48672
+
48673
+ Patch 9.1.1361
48674
+ Problem: [security]: Possible to open more windows into a closing
48675
+ buffer without splitting, bypassing existing "b_locked_split"
48676
+ checks and triggering use-after-free
48677
+ Solution: Disallow switching to a closing buffer. Editing a closing
48678
+ buffer (via ":edit", etc.) was fixed in v9.1.0764, but add an
48679
+ error message and check just "b_locked_split", as "b_locked"
48680
+ is necessary only when the buffer shouldn't be wiped, and may
48681
+ be set for buffers that are in-use but not actually closing
48682
+ (Sean Dewar).
48683
+
48684
+ Patch 9.1.1362
48685
+ Problem: Vim9: type ignored when adding tuple to instance list var
48686
+ (Lifepillar)
48687
+ Solution: When getting the typval of class and object member variables,
48688
+ set the variable type (Yegappan Lakshmanan).
48689
+
48690
+ Patch 9.1.1363
48691
+ Problem: style: inconsistent indentation in various files
48692
+ Solution: Fix style, updated codestyle test (Naruhiko Nishino).
48693
+
48694
+ Patch 9.1.1364
48695
+ Problem: style: more indentation issues
48696
+ Solution: Fix indentation style (Yegappan Lakshmanan).
48697
+
48698
+ Patch 9.1.1365
48699
+ Problem: MS-Windows: compile warnings and too many strlen() calls in
48700
+ os_mswin.c
48701
+ Solution: Refactor os_mswin.c and fix the warning (John Marriott).
48702
+
48703
+ Patch 9.1.1366
48704
+ Problem: v9.1.1364 unintentionally changed sign.c and sound.c
48705
+ Solution: Revert those parts, adjust the test (Hirohito Higashi).
48706
+
48707
+ Patch 9.1.1367
48708
+ Problem: too many strlen() calls in gui.c
48709
+ Solution: Refactor gui.c slightly (John Marriott).
48710
+
48711
+ Patch 9.1.1368
48712
+ Problem: GTK3 and GTK4 will drop numeric cursor support.
48713
+ Solution: Adopt GTK3 code and use CSS cursor convention (Drew Vogel).
48714
+
48715
+ Patch 9.1.1369
48716
+ Problem: configure still using autoconf 2.71
48717
+ Solution: Regenerate with autoconf 2.72.
48718
+
48719
+ Patch 9.1.1370
48720
+ Problem: CI Tests favor GTK2 over GTK3
48721
+ Solution: Install GTK3 dependencies and debug packages for CI workflows,
48722
+ update ASAN suppression list, update required dependency
48723
+ checks for the tests (Drew Vogel).
48724
+
48725
+ Patch 9.1.1371
48726
+ Problem: style: indentation issue in insexpand.c
48727
+ Solution: Update style (glepnir).
48728
+
48729
+ Patch 9.1.1372
48730
+ Problem: style: braces issues in various files
48731
+ Solution: Fix style (Hirohito Higashi).
48732
+
48733
+ Patch 9.1.1373
48734
+ Problem: Flag checking logic uses a temporary variable and multiple
48735
+ bitwise operations in insexpand.c
48736
+ Solution: Consolidate into a single equality check using bitwise OR and
48737
+ comparison (glepnir).
48738
+
48739
+ Patch 9.1.1374
48740
+ Problem: Currently, 'smartcase' is respected when completing keywords
48741
+ using <C-N>, <C-P>, <C-X><C-N>, and <C-X><C-P>. However, when
48742
+ a user continues typing and the completion menu is filtered
48743
+ using cached matches, 'smartcase' is not applied. This leads
48744
+ to poor-quality or irrelevant completion suggestions, as shown
48745
+ in the example below.
48746
+ Solution: When filtering cached completion items after typing additional
48747
+ characters, apply case-sensitive comparison if 'smartcase' is
48748
+ enabled and the typed pattern includes uppercase characters.
48749
+ This ensures consistent and expected completion behavior
48750
+ (Girish Palya).
48751
+
48752
+ Patch 9.1.1375
48753
+ Problem: heap use-after-free possible when autocommands switch away from the
48754
+ quickfix dummy buffer, but leave it open in a window.
48755
+ Solution: Close its windows first before attempting the wipe (Sean Dewar).
48756
+
48757
+ Patch 9.1.1376
48758
+ Problem: when failing to wipeout a quickfix dummy buffer, it will
48759
+ remain as a dummy buffer, despite being kept.
48760
+ Solution: Clear its dummy BF_DUMMY flag in this case (Sean Dewar).
48761
+
48762
+ Patch 9.1.1377
48763
+ Problem: Some GTK3 users experienced unexpectedly small windows at
48764
+ startup (after v9.1.1368, @berggeist, Tony Mechelynck)
48765
+ Solution: Update window manager hints in gui_mch_open, partly revert
48766
+ v9.1.1370 (Drew Vogel).
48767
+
48768
+ Patch 9.1.1378
48769
+ Problem: When 'signcolumn' is set to `number` but a line has a sign
48770
+ without text, the line number disappears (finite-state-machine)
48771
+ Solution: Verify that a sign actually contains text before rendering the
48772
+ line number (glepnir).
48773
+
48774
+ Patch 9.1.1379
48775
+ Problem: MS-Windows: error when running evim when space in path of Vim
48776
+ Solution: Properly parse quoted strings (Miguel Barro)
48777
+
48778
+ Patch 9.1.1380
48779
+ Problem: When an autocommand executes for a non-current buffer,
48780
+ 'eventignorewin' is only checked from the buffer's last
48781
+ wininfo (overwrites win_ignore in the loop), not from the
48782
+ value of 'eventignorewin' in all windows showing the buffer as
48783
+ described (after v9.1.1084)
48784
+ Solution: Fix the check and don't use wininfo, as that may only contain
48785
+ windows that recently showed the buffer. Consider all the
48786
+ buffer's windows in all tabpages (Sean Dewar).
48787
+
48788
+ Patch 9.1.1381
48789
+ Problem: Cannot return to the original text after selecting the next
48790
+ item when the currently selected item is the last one.
48791
+ Solution: When continuing to move down past the last item, locate the
48792
+ original completion at the head/tail nodes of the completed
48793
+ linked list (glepnir).
48794
+
48795
+ Patch 9.1.1382
48796
+ Problem: if_ruby: unused compiler warnings from ruby internals
48797
+ Solution: disable -Wunused-parameter for if_ruby internal code (Philip H.).
48798
+
48799
+ Patch 9.1.1383
48800
+ Problem: When a space character is used as a trigger in 'isexpand' option
48801
+ it doesn't get recognized because skip_to_option_part() skips
48802
+ spaces after a comma, treating them as option separators
48803
+ rather than option value (after v9.1.1341)
48804
+ Solution: Manually set the part to a space character (glepnir).
48805
+
48806
+ Patch 9.1.1384
48807
+ Problem: still some problem with the new tutors filetype plugin
48808
+ Solution: Refactor code to enable/disable tutor mode into
48809
+ tutor#EnableInteractive() function, include a test
48810
+ (Phạm Bình An).
48811
+
48812
+ Patch 9.1.1385
48813
+ Problem: Loop that ensures "w_skipcol" is zero with 'nosmoothscroll'
48814
+ for (half)-page scrolling is inefficient.
48815
+ Solution: Calculate the required "count" instead of looping until
48816
+ "w_skipcol" is zero (Luuk van Baal).
48817
+
48818
+ Patch 9.1.1386
48819
+ Problem: MS-Windows: some minor problems building on AARCH64
48820
+ Solution: Update Make_cyg_ming with aarch64 specific changes,
48821
+ document how to build on aarch64 using msys2 packages.
48822
+
48823
+ Patch 9.1.1387
48824
+ Problem: buflist_new() leaks ffname and fails to reuse curbuf when
48825
+ autocommands from buf_freeall change curbuf. Plus, a new
48826
+ buffer is not allocated in this case, despite what the comment
48827
+ above claims.
48828
+ Solution: Remove the condition so ffname is not leaked and so a new
48829
+ buffer is allocated like before v8.2.4791. It should not be
48830
+ possible for undo_ftplugin or buf_freeall autocommands to
48831
+ delete the buffer as they set b_locked, but to stay consistent
48832
+ with other uses of buf_freeall, guard against that anyway
48833
+ (Sean Dewar).
48834
+
48835
+ Patch 9.1.1388
48836
+ Problem: One-off error in "count" to make "w_skipcol" zero with
48837
+ 'nosmoothscroll' page scrolling when last virtual line
48838
+ in a buffer line is exactly the entire window width
48839
+ (Hirohito Higashi).
48840
+ Solution: Properly compute the smallest integer value necessary
48841
+ to make "w_skipcol" zero (Luuk van Baal).
48842
+
48843
+ Patch 9.1.1389
48844
+ Problem: Cannot get completion startcol when space is not the first
48845
+ trigger character (after v9.1.1383)
48846
+ Solution: Detect the next comma followed by a space in the option string
48847
+ and use in next compare loop (glepnir).
48848
+
48849
+ Patch 9.1.1390
48850
+ Problem: style: more wrong indentation
48851
+ Solution: reformat a few more places (Yegappan Lakshmanan).
48852
+
48853
+ Patch 9.1.1391
48854
+ Problem: Vim does not have a tabpanel
48855
+ Solution: Include the tabpanel feature (Naruhiko Nishino, thinca).
48856
+
48857
+ Patch 9.1.1392
48858
+ Problem: missing Patch number (Tony Mechelynck)
48859
+ Solution: add missing Patche number.
48860
+
48861
+ Patch 9.1.1393
48862
+ Problem: The check in buf_freeall that restores curwin subtly prevents
48863
+ leaving an unloaded buffer in a window when reusing curbuf, if
48864
+ autocommands switch to a different buffer.
48865
+ Solution: Add a test case that covers this. Also ensure splitting isn't
48866
+ possible, as that could do the same (Sean Dewar).
48867
+
48868
+ Patch 9.1.1394
48869
+ Problem: tabpanel not correctly redrawn on tabonly
48870
+ (Maxim Kim, after v9.1.1391)
48871
+ Solution: Force redraw of the tabpanel, tweak style (Hirohito Higashi).
48872
+
48873
+ Patch 9.1.1395
48874
+ Problem: Search_stat not reset when pattern differs in case
48875
+ (tahzibijafar)
48876
+ Solution: Use STRNCMP instead of MB_STRNICMP macro.
48877
+
48878
+ Patch 9.1.1396
48879
+ Problem: The 'grepformat' option is global option, but it would be
48880
+ useful to have it buffer-local, similar to 'errorformat' and
48881
+ other quickfix related options (Dani Dickstein)
48882
+ Solution: Add the necessary code to support global-local 'grepformat',
48883
+ allowing different buffers to parse different grep output
48884
+ formats (glepnir).
48885
+
48886
+ Patch 9.1.1397
48887
+ Problem: tabpanel not correctly updated on :tabonly (Maxim Kim)
48888
+ Solution: Force a redraw, take 'equalalways' into account (Naruhiko Nishino).
48889
+
48890
+ Patch 9.1.1398
48891
+ Problem: When items are combined with user-defined highlight attributes
48892
+ (e.g., strikethrough), trunc inherits these attributes, making
48893
+ the text difficult to read.
48894
+ Solution: Trunc now uses the original Pmenu and PmenuSel highlight
48895
+ attributes (glepnir).
48896
+
48897
+ Patch 9.1.1399
48898
+ Problem: tests: test_codestyle fails for auto-generated files.
48899
+ While those files are already ignored in Test_source_Files(),
48900
+ the newly added Test_indent_of_source_files() does not filter
48901
+ those out and causes test failures on appveyor.
48902
+ Solution: Factor out the generation of all c files into a common function
48903
+ and filter out auto-generated files if_ole.h, iid_ole.c and
48904
+ dlldata.c
48905
+
48906
+ Patch 9.1.1400
48907
+ Problem: [security]: use-after-free when evaluating tuple fails
48908
+ Solution: Return early in case of an error (Yegappan Lakshmanan).
48909
+
48910
+ Patch 9.1.1401
48911
+ Problem: list not materialized in prop_list() (Nickwiz)
48912
+ Solution: Materialize list before accessing it.
48913
+
48914
+ Patch 9.1.1402
48915
+ Problem: multi-byte mappings not properly stored in session file
48916
+ Solution: Unescape the mapping before writing out the mapping, prefer
48917
+ single-byte mapping name if possible (Miguel Barro).
48918
+
48919
+ Patch 9.1.1403
48920
+ Problem: expansion of 'tabpanelopt' value adds wrong values
48921
+ (Shane-XB-Qian, after v9.1.1391).
48922
+ Solution: Update tabpanelopt expansion function and expand only valid
48923
+ values (Hirohito Higashi).
48924
+
48925
+ Patch 9.1.1404
48926
+ Problem: wrong link to Chapter 2 in vim-01-beginner.tutor
48927
+ Solution: Fix the link to Chapter 2, add test for links in tutor files
48928
+ (Phạm Bình An).
48929
+
48930
+ Patch 9.1.1405
48931
+ Problem: tests: no test for mapping with special keys in session file.
48932
+ Solution: Add a special keys to an existing test. Also test with UTF-8
48933
+ characters containing 0x80 or 0x9b bytes (zeertzjq).
48934
+
48935
+ Patch 9.1.1406
48936
+ Problem: crash when importing invalid tuple (Yang LUO, Yanju Chen)
48937
+ Solution: Set type to VAR_UNKNOWN, so that it isn't freed
48938
+ (Yegappan Lakshmanan).
48939
+
48940
+ Patch 9.1.1407
48941
+ Problem: Can't use getpos('v') in OptionSet when using setbufvar().
48942
+ Solution: Don't reset Visual selection when switching to the same
48943
+ buffer (zeertzjq).
48944
+
48945
+ Patch 9.1.1408
48946
+ Problem: not easily possible to complete from register content
48947
+ Solution: Add register-completion submode using i_CTRL-X_CTRL-R
48948
+ (glepnir).
48949
+
48950
+ Patch 9.1.1409
48951
+ Problem: using f-flag in 'complete' conflicts with Neovims filename
48952
+ completion (glepnir, after v9.1.1301).
48953
+ Solution: Use upper-case "F" flag for completion functions (Girish Palya).
48954
+
48955
+ Patch 9.1.1410
48956
+ Problem: out-of-bounds access with 'completefunc' (csetc)
48957
+ Solution: Check if it is safe to advance cpt_sources_index (Girish Palya).
48958
+
48959
+ Patch 9.1.1411
48960
+ Problem: crash when calling non-existing function for tabpanel (Yamagi,
48961
+ after v9.1.1391)
48962
+ Solution: Check if there was an error and if there was, set tabpanel
48963
+ option to empty to prevent showing errors on every redraw.
48964
+
48965
+ Patch 9.1.1412
48966
+ Problem: tests: Test_tabpanel_tabonly() fails on larger screens
48967
+ Solution: Re-generate screendump file for 78 column large terminal.
48968
+
48969
+ Patch 9.1.1413
48970
+ Problem: spurious CursorHold triggered in GUI on startup
48971
+ Solution: Init global did_cursorhold flag to true (Gary Johnson).
48972
+
48973
+ Patch 9.1.1414
48974
+ Problem: MS-Windows: compile warnings in os_win32.c
48975
+ Solution: Update function declarations, correctly access param arg in
48976
+ set_flag() using (sig_atomic_t) cast (John Marriott).
48977
+
48978
+ Patch 9.1.1415
48979
+ Problem: potential use-after free when there is an error in 'tabpanel'
48980
+ option (@char101, after v9.1.1391)
48981
+ Solution: Check if p_tpl has been set to null before accessing it again.
48982
+
48983
+ Patch 9.1.1416
48984
+ Problem: completion limits not respected when using fuzzy completion
48985
+ (Maxim Kim)
48986
+ Solution: Trim completion array (Girish Palya).
48987
+
48988
+ Patch 9.1.1417
48989
+ Problem: missing info about register completion in complete_info()
48990
+ (after v9.1.1408)
48991
+ Solution: update documentation and mention that register is used as
48992
+ source, add a test (glepnir).
48993
+
48994
+ Patch 9.1.1418
48995
+ Problem: configures GUI auto detection favors GTK2
48996
+ Solution: make configure favor GTK3 over GTK2 for the GUI
48997
+ when auto detecting the gui toolkit (Drew Vogel).
48998
+
48999
+ Patch 9.1.1419
49000
+ Problem: It is difficult to ignore all but some events.
49001
+ Solution: Add support for a "-" prefix syntax in '(win)eventignore' that
49002
+ subtracts an event from the ignored set if present (Luuk van Baal).
49003
+
49004
+ Patch 9.1.1420
49005
+ Problem: tests: could need some more tests for shebang lines
49006
+ Solution: Add more shebang patterns to test_filetype.vim (Eisuke Kawashima).
49007
+
49008
+ Patch 9.1.1421
49009
+ Problem: tests: need a test for the new-style tutor.tutor, Patch
49010
+ 9.1.1384 broke the expected positions for the signs
49011
+ Solution: Update all number keys in tutor.tutor.json to match the
49012
+ correct line numbers in tutor.tutor, replace tabs by spaces,
49013
+ add a screen-dump test to verify it does not regress (Pham Bình An).
49014
+
49015
+ Patch 9.1.1422
49016
+ Problem: scheduling of complete function can be improved
49017
+ Solution: Call user completion functions earlier when just determining
49018
+ the insertion column (Girish Palya).
49019
+
49020
+ Patch 9.1.1423
49021
+ Problem: :tag command not working correctly using Vim9 Script
49022
+ Solution: Inject a ':' before the numeric address, to make the command
49023
+ valid in Vim9 context
49024
+
49025
+ Patch 9.1.1424
49026
+ Problem: PMenu selection broken with multi-line selection and limits
49027
+ (Maxim Kim)
49028
+ Solution: Update completion match index when limiting the completion
49029
+ sources (Girish Palya).
49030
+
49031
+ Patch 9.1.1425
49032
+ Problem: tabpanel: there are still some problems with the tabpanel with
49033
+ column handling
49034
+ Solution: Fix the problems and refactor Tabpanel feature (Hirohito Higashi).
49035
+
49036
+ Patch 9.1.1426
49037
+ Problem: CTRL-X CTRL-R only completes individual words from registers,
49038
+ making it difficult to insert complete register content.
49039
+ Solution: Add consecutive CTRL-X CTRL-R support - first press completes
49040
+ words, second press completes full register lines, similar to
49041
+ CTRL-X CTRL-L and CTRL-X CTRL-P behavior (glepnir).
49042
+
49043
+ Patch 9.1.1427
49044
+ Problem: rendering artifacts with the tabpanel (char101)
49045
+ Solution: Prevent double redraw, use Columns instead of frame width
49046
+ (Hirohito Higashi)
49047
+
49048
+ Patch 9.1.1428
49049
+ Problem: Completion: register completion needs cleanup
49050
+ Solution: Slightly refactor get_register_completion() (glepnir).
49051
+
49052
+ Patch 9.1.1429
49053
+ Problem: dragging outside the tabpanel changes tabpagenr (char101)
49054
+ Solution: Set in_tab_line and in_tabpanel variables (Hirohito Higashi).
49055
+
49056
+ Patch 9.1.1430
49057
+ Problem: tabpanel may flicker in the GUI
49058
+ Solution: Call scroll_start() and scroll_region_reset() (Hirohito Higashi).
49059
+
49060
+ Patch 9.1.1431
49061
+ Problem: Hit-Enter Prompt when loading session files
49062
+ Solution: Use set+= for 'shortmess' to keep the existing flags (Miguel Barro).
49063
+
49064
+ Patch 9.1.1432
49065
+ Problem: GTK GUI: Buffer menu does not handle unicode correctly
49066
+ Solution: Get rid of the BMHash() function (SUN Haitao).
49067
+
49068
+ Patch 9.1.1433
49069
+ Problem: Unnecessary :if in session where both branches have the same
49070
+ effect (after 9.1.1431).
49071
+ Solution: Remove the superfluous :if (zeertzjq).
49072
+
49073
+ Patch 9.1.1434
49074
+ Problem: MS-Windows: missing out-of-memory checks in os_win32.c
49075
+ Solution: Add out-of-memory checks to os_win32.c (John Marriott).
49076
+
49077
+ Patch 9.1.1435
49078
+ Problem: completion: various flaws in fuzzy completion
49079
+ Solution: Fix the issues (Girish Palya).
49080
+
49081
+ Patch 9.1.1436
49082
+ Problem: GUI control code is displayed on the console on startup
49083
+ Solution: Check if Vim is starting up (Hirohito Higashi).
49084
+
49085
+ Patch 9.1.1437
49086
+ Problem: MS-Windows: internal compile error in uc_list() with VS 17.14
49087
+ (ibear)
49088
+ Solution: Refactor code slightly (Mike Williams).
49089
+
49090
+ Patch 9.1.1438
49091
+ Problem: tests: Test_breakindent_list_split() fails (Phạm Bình An)
49092
+ Solution: Always reset "&columns" and "&lines" for GUI builds
49093
+ (Aliaksei Budavei).
49094
+
49095
+ Patch 9.1.1439
49096
+ Problem: Last diff folds not merged (after v8.1.1922)
49097
+ Solution: Loop over all windows in the current tabpage and update all
49098
+ folds (Gary Johnson).
49099
+
49100
+ Patch 9.1.1440
49101
+ Problem: too many strlen() calls in os_win32.c
49102
+ Solution: Refactor code and remove calls to strlen() (John Marriott).
49103
+
49104
+ Patch 9.1.1441
49105
+ Problem: completion: code can be improved
49106
+ Solution: Remove reposition_match() and use mergesort_list(),
49107
+ for fuzzy completion, sort by fuzzy score immediately after
49108
+ setting a new leader (Girish Palya).
49109
+
49110
+ Patch 9.1.1442
49111
+ Problem: tests: Test_diff_fold_redraw() is insufficient
49112
+ (after v9.1.1439, Christ van Willegen)
49113
+ Solution: Improve the test (Gary Johnson).
49114
+
49115
+ Patch 9.1.1443
49116
+ Problem: potential buffer underflow in insertchar()
49117
+ Solution: Verify that end_len is larger than zero (jinyaoguo).
49118
+
49119
+ Patch 9.1.1444
49120
+ Problem: Unused assignment in set_fuzzy_score() (after 9.1.1441).
49121
+ Solution: Remove it (zeertzjq).
49122
+
49123
+ Patch 9.1.1445
49124
+ Problem: negative matchfuzzy scores although there is a match (Maxim Kim).
49125
+ Solution: Reset the score if a match has been found but the score is
49126
+ negative (Girish Palya).
49127
+
49128
+ Patch 9.1.1446
49129
+ Problem: filetype: cuda-gdb config files are not recognized
49130
+ Solution: Detect .cuda-gdbinit and cuda-gdbinit files as gdb filetype
49131
+ (Wu Zhenyu).
49132
+
49133
+ Patch 9.1.1447
49134
+ Problem: completion: crash when backspacing with fuzzy completion
49135
+ Solution: Don't dereference compl_first_match when it's NULL (zeertzjq).
49136
+
49137
+ Patch 9.1.1448
49138
+ Problem: tabpanel is not displayed correctly when msg_scrolled
49139
+ Solution: Remove the msg_scrolled condition (Hirohito Higashi).
49140
+
49141
+ Patch 9.1.1449
49142
+ Problem: typo in pum_display()
49143
+ Solution: Update the comment, remove empty new lines (glepnir)
49144
+
49145
+ Patch 9.1.1450
49146
+ Problem: Session has wrong arglist with :tcd and :arglocal.
49147
+ Solution: Also use absolute path for :argadd when there is tabpage-local
49148
+ directory (zeertzjq).
49149
+
49150
+ Patch 9.1.1451
49151
+ Problem: tabpanel rendering artifacts when scrolling
49152
+ Solution: Update scrolling logic (Hirohito Higashi).
49153
+
49154
+ Patch 9.1.1452
49155
+ Problem: completion: redundant check for completion flags
49156
+ Solution: Refactor code slightly (glepnir).
49157
+
49158
+ Patch 9.1.1453
49159
+ Problem: tests: Test_geometry() may fail (Gary Johnson)
49160
+ Solution: Allow a slightly smaller value when checking the number of
49161
+ lines.
49162
+
49163
+ Patch 9.1.1454
49164
+ Problem: Missing test case for pum display on a wrapped line.
49165
+ Solution: Add a test case to cover pum behavior at line break positions
49166
+ (glepnir).
49167
+
49168
+ Patch 9.1.1455
49169
+ Problem: Haiku: dailog objects created with no reference
49170
+ Solution: Delete the objects before returning (jinyaoguo)
49171
+
49172
+ Patch 9.1.1456
49173
+ Problem: comment plugin fails toggling if 'cms' contains \
49174
+ Solution: Escape backslash (Maxim Kim).
49175
+
49176
+ Patch 9.1.1457
49177
+ Problem: compile warning with tabpanelopt
49178
+ Solution: Declare arg as UNUSED (John Marriott).
49179
+
49180
+ Patch 9.1.1458
49181
+ Problem: tabpanel: tabs not properly updated with 'stpl'
49182
+ Solution: remember the Column offset per tabpage (Hirohito Higashi).
49183
+
49184
+ Patch 9.1.1459
49185
+ Problem: xxd prints color escape sequences for every octet
49186
+ even if the color doesn't change
49187
+ Solution: use separate arrays for colors and text and only
49188
+ print escape sequences when the color changes (Emanuel Krollmann).
49189
+
49190
+ Patch 9.1.1460
49191
+ Problem: MS-Windows: too many strlen() calls in os_win32.c
49192
+ Solution: Refactor code and remove calls to strlen() and wcscat()
49193
+ (John Marriott).
49194
+
49195
+ Patch 9.1.1461
49196
+ Problem: tabpanel: tabpanel vanishes with popup menu
49197
+ Solution: Remove pum-related test in tabpanel_leftcol(), refactor a few
49198
+ related functions (Hirohito Higashi).
49199
+
49200
+ Patch 9.1.1462
49201
+ Problem: missing change from Patch v9.1.1461
49202
+ Solution: Change wrong TPL_LCOL macro in a few more places.
49203
+
49204
+ Patch 9.1.1463
49205
+ Problem: Integer overflow in getmarklist() after linewise operation.
49206
+ Solution: Don't add 1 to MAXCOL (zeertzjq).
49207
+
49208
+ Patch 9.1.1464
49209
+ Problem: gv does not work in operator-pending mode (liushapku)
49210
+ Solution: remove the check for checkclearop in nv_gv_cmd() (phanium).
49211
+
49212
+ Patch 9.1.1465
49213
+ Problem: tabpanel: not correctly drawn with 'equalalways'
49214
+ Solution: Call win_equal() (Hirohito Higashi).
49215
+
49216
+ Patch 9.1.1466
49217
+ Problem: filetype: not all lex files are recognized
49218
+ Solution: Detect *.ll as lex, llvm or lifelines filetype, depending on
49219
+ the content (Eisuke Kawashima).
49220
+
49221
+ Patch 9.1.1467
49222
+ Problem: too many strlen() calls
49223
+ Solution: Change expand_env() to return string length (John Marriott).
49224
+
49225
+ Patch 9.1.1468
49226
+ Problem: filetype: bright(er)script files are not recognized
49227
+ Solution: Detect *.bs files as brighterscript filetype and *.brs as
49228
+ brightscript filetype, include filetype plugins (Riley Bruins).
49229
+
49230
+ Patch 9.1.1469
49231
+ Problem: potential buffer-underflow with invalid hl_id (mugitya03)
49232
+ Solution: Assert that the return-code of syn_get_final_id() if > 0
49233
+
49234
+ Patch 9.1.1470
49235
+ Problem: use-after-free with popup callback on error
49236
+ (Brian Carbone, lifepillar)
49237
+ Solution: Check if the popup window is valid before accessing it.
49238
+
49239
+ Patch 9.1.1471
49240
+ Problem: completion: inconsistent ordering with CTRL-P (zeertzjq).
49241
+ Solution: Reset compl_curr_match when using CTRL-P (Girish Palya).
49242
+
49243
+ Patch 9.1.1472
49244
+ Problem: if_python: PySequence_Fast_{GET_SIZE,GET_ITEM} removed with
49245
+ python3.14 in stable ABI
49246
+ Solution: use PySequence_{Size,GetItem} instead (Zdenek Dohnal)
49247
+
49248
+ Patch 9.1.1473
49249
+ Problem: inconsistent range arg for :diffget/diffput
49250
+ Solution: Fix the range specification, place the cursor for :diffput and
49251
+ :diffget consistently on the last line (Yee Cheng Chin)
49252
+
49253
+ Patch 9.1.1474
49254
+ Problem: missing out-of-memory check in mark.c
49255
+ Solution: bail out, if mark_line() returns NULL (John Marriott).
49256
+
49257
+ Patch 9.1.1475
49258
+ Problem: completion: regression when "nearest" in 'completeopt'
49259
+ Solution: Fix compare function (Girish Palya).
49260
+
49261
+ Patch 9.1.1476
49262
+ Problem: missing out-of-memory checks in cmdexpand.c
49263
+ Solution: Add missing out-of-memory checks, re-order code (John Marriott).
49264
+
49265
+ Patch 9.1.1476
49266
+ Problem: no easy way to deduplicate text
49267
+ Solution: Add the :uniq ex command (Hirohito Higashi).
49268
+
49269
+ Patch 9.1.1478
49270
+ Problem: Unused assignment in ex_uniq() (after v9.1.1476)
49271
+ Solution: Remove the assignment and the wrong comments above (zeertzjq).
49272
+
49273
+ Patch 9.1.1479
49274
+ Problem: regression when displaying localized percentage position
49275
+ (after v9.1.1291)
49276
+ Solution: Calculate percentage first (Emir SARI).
49277
+
49278
+ Patch 9.1.1480
49279
+ Problem: Turkish translation outdated
49280
+ Solution: Update Turkish translations, enable disabled test from v9.1.1479
49281
+ (Emir SARI).
49282
+
49283
+ Patch 9.1.1481
49284
+ Problem: gcc complains about uninitialized variable
49285
+ (Tony Mechelynck, after v9.1.1476)
49286
+ Solution: Initialize variable.
49287
+
49288
+ Patch 9.1.1482
49289
+ Problem: Topline is preemptively updated by line() in WinResized
49290
+ autocmd with 'splitkeep' != "cursor".
49291
+ Solution: Set `skip_update_topline` when 'splitkeep' != "cursor" (Luuk van Baal)
49292
+
49293
+ Patch 9.1.1483
49294
+ Problem: not possible to translation position in buffer
49295
+ Solution: use _() macro to mark the output as translatable (Emir SARI)
49296
+
49297
+ Patch 9.1.1484
49298
+ Problem: tests: Turkish locale tests fails on Mac (after v9.1.1480).
49299
+ Solution: Skip the test Test_pos_percentage_in_turkish_locale() on Mac
49300
+
49301
+ Patch 9.1.1485
49302
+ Problem: missing Wayland clipboard support
49303
+ Solution: Make it work (Foxe Chen).
49304
+
49305
+ Patch 9.1.1486
49306
+ Problem: documentation issues with Wayland (after v9.1.1485)
49307
+ Solution: Tweak documentation style. Capitalize the first letter of
49308
+ Wayland (Hirohito Higashi).
49309
+
49310
+ Patch 9.1.1487
49311
+ Problem: :cl doesn't invoke :clist (after v9.1.1485)
49312
+ Solution: Fix order of definition in ex_cmds.h (Hirohito Higashi).
49313
+
49314
+ Patch 9.1.1488
49315
+ Problem: configure: using obsolete macro AC_PROG_GCC_TRADITIONAL
49316
+ Solution: Drop it from configure.ac, regenerate auto/configure.
49317
+
49318
+ Patch 9.1.1489
49319
+ Problem: terminal: no visual highlight of empty cols when 'listchars'
49320
+ is empty (Yousef Mohammed)
49321
+ Solution: Reset wlv.win_attr when column is zero and we are drawing a
49322
+ terminal buffer.
49323
+
49324
+ Patch 9.1.1490
49325
+ Problem: 'wildchar' does not work in search contexts
49326
+ Solution: implement search completion when 'wildchar' is typed (Girish Palya).
49327
+
49328
+ Patch 9.1.1491
49329
+ Problem: missing out-of-memory checks in cmdexpand.c
49330
+ Solution: Add out-of-memory checks for expand_files_and_dirs(),
49331
+ ExpandUserDefined() and ExpandUserList() (John Marriott).
49332
+
49333
+ Patch 9.1.1492
49334
+ Problem: tests: failure when Wayland compositor fails to start
49335
+ Solution: Instead of throwing an error causing a failure, throw
49336
+ "Skipped", so that the Vim test suite continues and does not fail.
49337
+
49338
+ Patch 9.1.1493
49339
+ Problem: manually comparing positions on buffer (after v9.1.1490)
49340
+ Solution: Use the LTOREQ_POS() macro, fix a few other minor style issues
49341
+ (glepnir).
49342
+
49343
+ Patch 9.1.1494
49344
+ Problem: runtime(tutor): no French translation for Chapter 2
49345
+ Solution: Add and refine French translation of tutor2, update French
49346
+ vimtutor manpage (Damien Lejay)
49347
+
49348
+ Patch 9.1.1495
49349
+ Problem: Wayland: uses $XDG_SEAT to determine seat to use
49350
+ (dr0bz, after v9.1.1485)
49351
+ Solution: Do not try to determine the seat from $XDG_SEAT, remove the
49352
+ code that checks for this environment variable (Foxe Chen).
49353
+
49354
+ Patch 9.1.1496
49355
+ Problem: terminal: still not highlighting empty cells correctly
49356
+ (Yousef Mohammed, after v9.1.1489)
49357
+ Solution: Use vcol instead of col.
49358
+
49359
+ Patch 9.1.1497
49360
+ Problem: Link error with shm_open() (gcanat, after v9.1.1485).
49361
+ Solution: use AC_LINK_IFELSE instead of AC_COMPILE_IFELSE.
49362
+
49363
+ Patch 9.1.1498
49364
+ Problem: completion: Functions specified in the 'complete' option did
49365
+ not have the leader string removed when called with findstart = 0,
49366
+ unlike 'omnifunc' behavior
49367
+ Solution: Update behaviour and make behaviour consistent (Girish Palya).
49368
+
49369
+ Patch 9.1.1499
49370
+ Problem: MS-Windows: no indication of ARM64 architecture
49371
+ Solution: Add ARM64 to version output and include in nsis installer
49372
+ (RestorerZ)
49373
+
49374
+ Patch 9.1.1500
49375
+ Problem: if_python: typo in python error variable
49376
+ Solution: Fix typo (Damien Lejay).
49377
+
49378
+ Patch 9.1.1501
49379
+ Problem: filetype: flix files are not recognized
49380
+ Solution: Detect *.flix files as flix filetype (0xadk).
49381
+
49382
+ Patch 9.1.1502
49383
+ Problem: filetype: quickbms files are not recognized
49384
+ Solution: Detect *.bms files as quickbms filetype (0xadk).
49385
+
49386
+ Patch 9.1.1503
49387
+ Problem: filetype: haxe files are not recognized
49388
+ Solution: Detect *.hx files as haxe filetype (0xadk).
49389
+
49390
+ Patch 9.1.1504
49391
+ Problem: filetype: numbat files are not recognized
49392
+ Solution: Detect *.nbt files as numbat filetype (0xadk).
49393
+
49394
+ Patch 9.1.1505
49395
+ Problem: not possible to return command-line completion type for :ex
49396
+ command
49397
+ Solution: Make getcmdcompltype() accept an optional and return the
49398
+ command-line completion for that arg (Shougo Matsushita).
49399
+
49400
+ Patch 9.1.1506
49401
+ Problem: tests: missing cleanup test_override('char_avail', 0) in
49402
+ Test_search_cmdline_incsearch_highlight().
49403
+ Solution: Add the missing cleanup (zeertzjq).
49404
+
49405
+ Patch 9.1.1507
49406
+ Problem: File paths change from symlink to target path after :cd command
49407
+ when editing files through symbolic links
49408
+ Solution: Add "~" flag to 'cpoptions' to control symlink resolution (glepnir).
49409
+
49410
+ Patch 9.1.1508
49411
+ Problem: String manipulation can be improved in cmdexpand.c
49412
+ Solution: Refactor cmdexpand.c to remove calls to STRLEN()/STRMOVE()/STRCAT()
49413
+ (John Marriott).
49414
+
49415
+ Patch 9.1.1509
49416
+ Problem: Patch 9.1.1505 was not good
49417
+ Solution: Revert "Patch 9.1.1505 for :ex command" and instead add the
49418
+ getcompletiontype() function (Hirohito Higashi).
49419
+
49420
+ Patch 9.1.1510
49421
+ Problem: Search completion may use invalid memory (after 9.1.1490).
49422
+ Solution: Don't get two line pointers at the same time (zeertzjq).
49423
+
49424
+ Patch 9.1.1511
49425
+ Problem: tests: two edit tests change v:testing from 1 to 0.
49426
+ Solution: Don't change v:testing in these two tests, since it's already
49427
+ set to 1 in runtest.vim (zeertzjq).
49428
+
49429
+ Patch 9.1.1512
49430
+ Problem: completion: can only complete from keyword characters
49431
+ Solution: Remove this restriction, allow completion functions when
49432
+ called from i_CTRL-N/i_CTRL-P to be triggered from non-keyword
49433
+ characters (Girish Palya).
49434
+
49435
+ Patch 9.1.1513
49436
+ Problem: resizing Vim window causes unexpected internal window width
49437
+ (chdiza, after v9.1.1465)
49438
+ Solution: Move the column calculation around (Hirohito Higashi).
49439
+
49440
+ Patch 9.1.1514
49441
+ Problem: coverity complains about the use of tmpfile()
49442
+ Solution: Use vim_tempname() instead to create anonym file.
49443
+
49444
+ Patch 9.1.1515
49445
+ Problem: memcpy() in ExpandRTDir_int() may create unterminated strings
49446
+ Solution: Use vim_snprintf() to construct complete paths safely (glepnir).
49447
+
49448
+ Patch 9.1.1516
49449
+ Problem: tests: no test that 'incsearch' is updated after accepting
49450
+ search completion.
49451
+ Solution: Add a test case (zeertzjq).
49452
+
49453
+ Patch 9.1.1517
49454
+ Problem: filetype: autopkgtest files are not recognized
49455
+ Solution: Detect */debian/tests/control files as autopkgtest filetype
49456
+ (James McCoy).
49457
+
49458
+ Patch 9.1.1518
49459
+ Problem: getcompletiontype() crashes when no completion is available
49460
+ (after v9.1.1509).
49461
+ Solution: Don't call set_expand_context() (zeertzjq).
49462
+
49463
+ Patch 9.1.1519
49464
+ Problem: Test_termdebug_decimal_breakpoints() fails with List index out
49465
+ of range, because when adding the second breakpoint, the
49466
+ cursor is still on the very first line
49467
+ Solution: Run the program, so that it will break at the very first
49468
+ defined breakpoint and then once we are in the program,
49469
+ set further breakpoints.
49470
+
49471
+ Patch 9.1.1520
49472
+ Problem: When using `/` or `?` in command-line mode with 'ignorecase' and
49473
+ 'smartcase' enabled, the completion menu could show items that
49474
+ don't actually match any text in the buffer due to case mismatches
49475
+ Solution: Instead of validating menu items only against the user-typed
49476
+ pattern, the new logic also checks whether the completed item
49477
+ matches actual buffer content. If needed, it retries the match
49478
+ using a lowercased version of the candidate, respecting
49479
+ smartcase semantics.
49480
+
49481
+ Patch 9.1.1521
49482
+ Problem: When 'wildmode' is set to include "noselect", the popup menu (pum)
49483
+ incorrectly retained its scroll position when reopened. This
49484
+ meant that after scrolling down through the menu with `<C-n>`,
49485
+ reopening the menu (e.g., by retyping the command and
49486
+ triggering completion again) would show the menu starting from
49487
+ the previously scrolled position, rather than from the top.
49488
+ Solution: Ensure that the popup menu resets its scroll position to the
49489
+ top when reopened (Girish Palya).
49490
+
49491
+ Patch 9.1.1522
49492
+ Problem: tests: still some ANSI escape sequences in test messages output
49493
+ Solution: Update the cleanup regexp to also handle those ANSI escape
49494
+ sequences: `<esc>|2h` and `<esc>|31H`.
49495
+
49496
+ Patch 9.1.1523
49497
+ Problem: tests: test_clipmethod fails in non X11 environment
49498
+ Solution: Test that $DISPLAY is available
49499
+
49500
+ Patch 9.1.1524
49501
+ Problem: tests: too many imports in the test suite
49502
+ Solution: Clean up the imported scripts.
49503
+
49504
+ Patch 9.1.1525
49505
+ Problem: tests: testdir is a bit messy
49506
+ Solution: Move test scripts into testdir/util/ directory.
49507
+
49508
+ Patch 9.1.1526
49509
+ Problem: completion: search completion match may differ in case (techntools)
49510
+ Solution: Add "exacttext" to 'wildoptions' value (Girish Palya).
49511
+
49512
+ Patch 9.1.1527
49513
+ Problem: Vim9: Crash when using string compound assignment with wrong
49514
+ data type (lacygoill).
49515
+ Solution: Verify expected member type (Hirohito Higashi).
49516
+
49517
+ Patch 9.1.1528
49518
+ Problem: completion: crash with getcompletion() (zeertzjq)
49519
+ Solution: Don't set may_expand_pattern in f_getcompletion(), unset
49520
+ may_expand_pattern() once it is not longer needed (Girish Palya).
49521
+
49522
+ Patch 9.1.1529
49523
+ Problem: Win32: the toolbar in the GUI is old and dated
49524
+ Solution: Include improved icons from Fatcow (CC by 3.0) (RestorerZ).
49525
+
49526
+ Patch 9.1.1530
49527
+ Problem: Missing version change from v9.1.1529
49528
+ Solution: Update version.c with latest Patch.
49529
+
49530
+ Patch 9.1.1531
49531
+ Problem: confusing error with nested legacy function (lacygoill)
49532
+ Solution: Clarify error message E1117 with :def or :func (Hirohito Higashi).
49533
+
49534
+ Patch 9.1.1532
49535
+ Problem: termdebug: not enough ways to configure breakpoints
49536
+ Solution: Add the termdebug_config['signs'] config setting, rework the
49537
+ termdebug test cases (Dimitry Ishenko).
49538
+
49539
+ Patch 9.1.1533
49540
+ Problem: helptoc: does not handle code sections in markdown well (VimWei).
49541
+ Solution: Skip over fenced code sections (lacygoill), add a test.
49542
+
49543
+ Patch 9.1.1534
49544
+ Problem: unnecessary code in tabpanel.c
49545
+ Solution: Remove it (Hirohito Higashi).
49546
+
49547
+ Patch 9.1.1535
49548
+ Problem: The maximum search count uses a hard-coded value of 99
49549
+ (Andres Monge, Joschua Kesper)
49550
+ Solution: Make it configurable using the 'maxsearchcount' option.
49551
+
49552
+ Patch 9.1.1536
49553
+ Problem: tests: test_plugin_comment.vim uses :CheckScreenDump check but
49554
+ doesn't actually use a screen dump.
49555
+ Solution: Use :CheckRunVimInTerminal instead, remove a few empty lines.
49556
+
49557
+ Patch 9.1.1537
49558
+ Problem: helptoc: some issues when parsing markdown code blocks (VimWei)
49559
+ Solution: Assign nextline to curline before starting the next loop
49560
+ iteration; when processing fenced code blocks, flip the
49561
+ skip_fence variable, update the test to be more comprehensive.
49562
+
49563
+ Patch 9.1.1539
49564
+ Problem: completion: messages don't respect 'shm' setting
49565
+ Solution: Turn off completion messages when 'shortmess' includes "c"
49566
+ (Girish Palya).
49567
+
49568
+ Patch 9.1.1540
49569
+ Problem: completion: menu state wrong on interruption (Maxim Kim)
49570
+ Solution: Call show_pum() if completion was interrupted (Girish Palya).
49571
+
49572
+ Patch 9.1.1541
49573
+ Problem: Vim9: error when last enum value ends with a comma
49574
+ Solution: Allow trailing commas in enum values (Yegappan Lakshmanan).
49575
+
49576
+ Patch 9.1.1542
49577
+ Problem: Coverity complains about uninitialized variable (Tony Mechelynck)
49578
+ Solution: Initialize variables.
49579
+
49580
+ Patch 9.1.1543
49581
+ Problem: Wayland: clipboard appears to not be working (Fuad Veliev)
49582
+ Solution: Explicitly set selection each time (Foxe Chen).
49583
+
49584
+ Patch 9.1.1544
49585
+ Problem: :retab cannot be limited to indentation only
49586
+ Solution: add the optional -indentonly parameter (Hirohito Higashi).
49587
+
49588
+ Patch 9.1.1545
49589
+ Problem: Typo in os_unix.c
49590
+ Solution: Correct the typo (Foxe Chen).
49591
+
49592
+ Patch 9.1.1546
49593
+ Problem: Vim9: error with has() and short circuit evaluation
49594
+ Solution: Only eval, if ctx_skip is not SKIP_YES (Yegappan Lakshmanan).
49595
+
49596
+ Patch 9.1.1547
49597
+ Problem: Wayland: missing ifdef
49598
+ Solution: Add #ifdef around ch_log() call (Foxe Chen).
49599
+
49600
+ Patch 9.1.1548
49601
+ Problem: filetype: OpenFGA files are not recognized
49602
+ Solution: Detect *.fga files as fga filetype, include an fga filetype
49603
+ plugin (Riley Bruins).
49604
+
49605
+ Patch 9.1.1549
49606
+ Problem: filetype: pkl files are not recognized
49607
+ Solution: Detect *.pkl files as pkl filetype, include a filetype plugin (Riley
49608
+ Bruins).
49609
+
49610
+ Patch 9.1.1550
49611
+ Problem: defaults: 'showcmd' is not enabled in non-compatible mode on Unix
49612
+ Solution: Always enable 'showcmd' in non-compatible mode, drop it from
49613
+ defaults.vim.
49614
+
49615
+ Patch 9.1.1551
49616
+ Problem: [security]: path traversal issue in zip.vim (@ax)
49617
+ Solution: Drop leading ../ on write of zipfiles, don't forcefully
49618
+ overwrite existing files.
49619
+
49620
+ Patch 9.1.1552
49621
+ Problem: [security]: path traversal issue in tar.vim (@ax)
49622
+ Solution: Warn the user for such things, drop leading /, don't
49623
+ forcefully overwrite files when writing temporary files,
49624
+ refactor autoload/tar.vim
49625
+
49626
+ Patch 9.1.1553
49627
+ Problem: Vim9: crash when accessing a variable in if condition (lxhillwind)
49628
+ Solution: Skip indexing a list/tuple/dict/blob when short-circuiting an
49629
+ if condition check (Yegappan Lakshmanan).
49630
+
49631
+ Patch 9.1.1554
49632
+ Problem: Vim crashes during omnifunc completion inside the command-line
49633
+ window ("q:") if the completion item attempts to open an "info"
49634
+ preview window. This leads to a failed assert during execution.
49635
+ Solution: Avoid opening preview windows while inside the command-line
49636
+ window to prevent the crash (Girish Palya).
49637
+
49638
+ Patch 9.1.1555
49639
+ Problem: completion: repeated insertion and deletion of complete
49640
+ functions
49641
+ Solution: Remove unnecessary insertion and deletion of leader text
49642
+ during expansion of function present in 'complete' option
49643
+ (Girish Palya).
49644
+
49645
+ Patch 9.1.1556
49646
+ Problem: string handling in cmdexpand.c can be improved
49647
+ Solution: Improve string manipulation in cmdexpand.c (John Marriott).
49648
+
49649
+ Patch 9.1.1557
49650
+ Problem: not possible to anchor specific lines in difff mode
49651
+ Solution: Add support for the anchoring lines in diff mode using the
49652
+ 'diffanchor' option (Yee Cheng Chin).
49653
+
49654
+ Patch 9.1.1558
49655
+ Problem: str2blob() treats NULL string and empty string differently
49656
+ Solution: Treats a NULL string the same as an empty string (zeertzjq).
49657
+
49658
+ Patch 9.1.1559
49659
+ Problem: tests: Test_popup_complete_info_01() fails when run alone.
49660
+ Solution: Set buffer-local competeopt+=noinsert and add missing cleanup
49661
+ in Test_popup_complete() (zeertzjq).
49662
+
49663
+ Patch 9.1.1560
49664
+ Problem: configure: uses $PKG_CONFIG before it is defined
49665
+ Solution: Define $PKG_CONFIG earlier in the script (Christoffer Aasted).
49666
+
49667
+ Patch 9.1.1561
49668
+ Problem: configure: wayland test can be improved
49669
+ Solution: Define $WAYLAND_CFLAGS, simplify the wayland tests
49670
+ (Christoffer Aasted).
49671
+
49672
+ Patch 9.1.1562
49673
+ Problem: close button "X" is visible in the non-GUI 'tabline', even
49674
+ when the mouse is disabled
49675
+ Solution: Only show the button when 'mouse' contains any of the flags
49676
+ "anvi" (Girish Palya).
49677
+
49678
+ Patch 9.1.1563
49679
+ Problem: The ruler disappears after typing the second character during
49680
+ insert mode completion, even when completion messages are
49681
+ suppressed ('shortmess' includes "c"). This makes the UI
49682
+ appear inconsistent.
49683
+ Solution: Ensure the ruler is restored during screen redraw when popup
49684
+ completion is active (Girish Palya).
49685
+
49686
+ Patch 9.1.1564
49687
+ Problem: Can open a popup window to a closing buffer, leading to the
49688
+ buffer remaining open in the window after it's soon unloaded,
49689
+ causing crashes.
49690
+ Solution: Check b_locked_split when opening a popup window to an
49691
+ existing buffer (Sean Dewar).
49692
+
49693
+ Patch 9.1.1565
49694
+ Problem: configure: does not consider tiny version for wayland
49695
+ Solution: Do not try to enable wayland for a tiny vim version
49696
+ (Christoffer Aasted).
49697
+
49698
+ Patch 9.1.1566
49699
+ Problem: self-referenced enum may not get freed
49700
+ Solution: Test if it can be freed (Yegappan Lakshmanan).
49701
+
49702
+ Patch 9.1.1567
49703
+ Problem: Crash when using inline diff mode (Ilya Grigoriev)
49704
+ Solution: Set tp_diffbuf to NULL when skipping a diff block (Yee Cheng Chin).
49705
+
49706
+ Patch 9.1.1568
49707
+ Problem: need a few more default highlight groups
49708
+ Solution: Add Bold, Italic and BoldItalic default highlight groups
49709
+ (Maxim Kim).
49710
+
49711
+ Patch 9.1.1569
49712
+ Problem: tests: Vim9 tests can be improved
49713
+ Solution: In Test_has_func_shortcircuit(), move the test functions to a
49714
+ separate script (Yegappan Lakshmanan).
49715
+
49716
+ Patch 9.1.1570
49717
+ Problem: Copilot suggested some improvements in cmdexpand.c (after v9.1.1556)
49718
+ Solution: Use better variable names and comments (John Marriott).
49719
+
49720
+ Patch 9.1.1571
49721
+ Problem: The CmdlineChanged event was firing unnecessarily, even when
49722
+ the command line's content hadn't actually changed.
49723
+ Solution: Add a check to compare the command-line buffer's state
49724
+ before and after key processing. The `CmdlineChanged` event
49725
+ now only triggers if the buffer's contents are genuinely
49726
+ different (Girish Palya).
49727
+
49728
+ Patch 9.1.1572
49729
+ Problem: expanding $var does not escape whitespace for 'path'
49730
+ Solution: Escape whitespace when expanding 'path' option. (Miguel Barro).
49731
+
49732
+ Patch 9.1.1573
49733
+ Problem: Memory leak when pressing Ctrl-D in cmdline mode (after 9.1.1571).
49734
+ Solution: Free prev_cmdbuff before assigning to it. (zeertzjq).
49735
+
49736
+ Patch 9.1.1574
49737
+ Problem: Dead code in mbyte.c
49738
+ Solution: Delete the dead wcwidth()/iswprint() code (Damien Lejay).
49739
+
49740
+ Patch 9.1.1575
49741
+ Problem: tabpanel not drawn correctly with wrapped lines
49742
+ (utubo, after v9.1.1534)
49743
+ Solution: Use Columns as width, not the frame width (Hirohito Higashi).
49744
+
49745
+ Patch 9.1.1576
49746
+ Problem: cannot easily trigger wildcard expansion
49747
+ Solution: Introduce wildtrigger() function (Girish Palya).
49748
+
49749
+ Patch 9.1.1577
49750
+ Problem: Vim9: no generic support yet
49751
+ Solution: Add support for generic functions, funcrefs and object/class
49752
+ methods (Yegappan Lakshmanan).
49753
+
49754
+ Patch 9.1.1578
49755
+ Problem: configure: comment still mentions autoconf 2.71 to generate
49756
+ the configure script
49757
+ Solution: Update the comment to use autoconf 2.72 instead (Yee Chin Cheng).
49758
+
49759
+ Patch 9.1.1579
49760
+ Problem: Coverity complains about unchecked return value in
49761
+ common_function() (after v9.1.1577)
49762
+ Solution: Check the return value of skip_generic_func_type_args()
49763
+ and return in case of an error (Yegappan Lakshmanan).
49764
+
49765
+ Patch 9.1.1580
49766
+ Problem: possible memory leak in vim9type.c
49767
+ Solution: Free tuple_types_ga if there was an error in
49768
+ type_type_add_types() (Lidong Yan)
49769
+
49770
+ Patch 9.1.1581
49771
+ Problem: possible memory leak in vim9generics.c
49772
+ Solution: Free ret_free if ga_grow() fails and before returning
49773
+ (Lidong Yan).
49774
+
49775
+ Patch 9.1.1582
49776
+ Problem: style issue in vim9type.c and vim9generics.c
49777
+ (after v9.1.1581 and v9.1.1580)
49778
+ Solution: Update Style and place opening brace on a new line.
49779
+
49780
+ Patch 9.1.1583
49781
+ Problem: Since Patch 9.1.1199 the gvim window no longer had _NET_WM_ICON
49782
+ nor WM_HINTS icon information, for example when not using a
49783
+ Gnome or KDE desktop (after v9.1.1199)
49784
+ Solution: Check if the icon theme as used in Patch 1199 contains a gvim
49785
+ icon. If so, set the window's icon from that. Otherwise
49786
+ use the previous method (Olaf Seibert)
49787
+
49788
+ Patch 9.1.1584
49789
+ Problem: using ints as bool
49790
+ Solution: Include stdbool.h and start using bool type directly
49791
+ (Hirohito Higashi).
49792
+
49793
+ Patch 9.1.1585
49794
+ Problem: Wayland: gvim still needs GVIM_ENABLE_WAYLAND
49795
+ Solution: Drop the GVIM_ENABLE_WAYLAND code, always enable both X11 and
49796
+ Wayland GUI support (Christoffer Aasted)
49797
+
49798
+ Patch 9.1.1586
49799
+ Problem: Vim9: can define an enum/interface in a function (lacygoill)
49800
+ Solution: Give an error when defining an enum or an interface inside a
49801
+ function (Yegappan Lakshmanan).
49802
+
49803
+ Patch 9.1.1587
49804
+ Problem: Wayland: timeout not updated before select()
49805
+ Solution: Always set timeval struct before select() (Foxe Chen).
49806
+
49807
+ Patch 9.1.1588
49808
+ Problem: Vim9: cannot split dict inside command block (lacygoill)
49809
+ Solution: Remove the current restriction (Yegappan Lakshmanan).
49810
+
49811
+ Patch 9.1.1589
49812
+ Problem: Cannot disable cscope interface using configure, because in
49813
+ feature.h FEAT_CSCOPE will always be enabled for huge builds
49814
+ (chdiza)
49815
+ Solution: Don't define FEAT_CSCOPE from configure script but set the
49816
+ ENABLE_CSCOPE flag and check for the presence of that flag in
49817
+ feature.h
49818
+
49819
+ Patch 9.1.1590
49820
+ Problem: cannot perform autocompletion
49821
+ Solution: Add the 'autocomplete' option value (Girish Palya)
49822
+
49823
+ Patch 9.1.1591
49824
+ Problem: VMS support can be improved
49825
+ Solution: Merge chagnes from Steven M. Schweda (Zoltan)
49826
+
49827
+ Patch 9.1.1592
49828
+ Problem: Vim9: crash with classes and garbage collection
49829
+ (Christian J. Robinson, after v9.1.1566)
49830
+ Solution: When getting the references to an object, make sure the object
49831
+ is valid (Yegappan Lakshmanan).
49832
+
49833
+ Patch 9.1.1593
49834
+ Problem: Confusing error when compiling incomplete try block (lacygoill)
49835
+ Solution: Give better error messages (Hirohito Higashi).
49836
+
49837
+ Patch 9.1.1594
49838
+ Problem: completion: search completion throws errors, wrong placement
49839
+ of pum menu with 'imi'=1 (berggeist)
49840
+ Solution: Fix those errors (Girish Palya).
49841
+
49842
+ Patch 9.1.1595
49843
+ Problem: Wayland: non-portable use of select()
49844
+ Solution: Correctly set the timeval struct (Foxe Chen).
49845
+
49846
+ Patch 9.1.1596
49847
+ Problem: tests: Test_search_wildmenu_iminsert() depends on help file
49848
+ (after 9.1.1594).
49849
+ Solution: Set buffer text using setline() instead of loading help file.
49850
+ Add a test for another bug fixed by 9.1.1594 (zeertzjq).
49851
+
49852
+ Patch 9.1.1597
49853
+ Problem: CI reports leaks in libgtk3 library
49854
+ Solution: Add libgtk-3 library to leak suppression
49855
+
49856
+ Patch 9.1.1598
49857
+ Problem: filetype: waybar config file is not recognized
49858
+ Solution: Detect */waybar/config file as jsonc filetype (Furkan Sahin).
49859
+
49860
+ Patch 9.1.1599
49861
+ Problem: :bnext doesn't go to unlisted help buffers when cycling
49862
+ through help buffers (after 9.1.0557).
49863
+ Solution: Don't check if a help buffer is listed (zeertzjq).
49864
+
49865
+ Patch 9.1.1600
49866
+ Problem: diff: using diff anchors with hidden buffers fails silently
49867
+ Solution: Give specific error message for diff anchors when using hidden
49868
+ buffers (Yee Cheng Chin).
49869
+
49870
+ Patch 9.1.1601
49871
+ Problem: Patch v8.1.0425 was wrong
49872
+ Solution: Revert that Patch (Hirohito Higashi).
49873
+
49874
+ Patch 9.1.1602
49875
+ Problem: filetype: requirements-*.txt files are not recognized
49876
+ Solution: Detect requirements-*.txt files as requirements filetype
49877
+ (Xudong Zheng).
49878
+
49879
+ Patch 9.1.1603
49880
+ Problem: completion: cannot use autoloaded funcs in 'complete' F{func}
49881
+ (Maxim Kim)
49882
+ Solution: Make it work (Girish Palya).
49883
+
49884
+ Patch 9.1.1604
49885
+ Problem: completion: incsearch highlight might be lost after search
49886
+ completion (Hirohito Higashi)
49887
+ Solution: Restore incsearch highlight after dismissing pum with Ctrl-E
49888
+ (Girish Palya).
49889
+
49890
+ Patch 9.1.1605
49891
+ Problem: Cannot specify scope for chdir()
49892
+ Solution: Add optional scope argument (kuuote).
49893
+
49894
+ Patch 9.1.1606
49895
+ Problem: filetype: a few more files are not recognized
49896
+ Solution: Guess Mail, Info and Terminfo files by its content (lacygoill).
49897
+
49898
+ Patch 9.1.1607
49899
+ Problem: :apple command detected as :append (dai475694450)
49900
+ Solution: Disallow to define a custom command with lower-case letter,
49901
+ correctly detect :insert/:change/:append ex commands
49902
+ (Hirohito Higashi).
49903
+
49904
+ Patch 9.1.1608
49905
+ Problem: No command-line completion for :unsilent {command}.
49906
+ Solution: Add missing command arg completion (Doug Kearns).
49907
+
49908
+ Patch 9.1.1609
49909
+ Problem: complete: Heap-buffer overflow with complete function (zeertzjq)
49910
+ Solution: Do not let startcol become negative (Girish Palya).
49911
+
49912
+ Patch 9.1.1610
49913
+ Problem: completion: hang (after 9.1.1471) or E684 (after 9.1.1410)
49914
+ when 'tagfunc' calls complete().
49915
+ Solution: Check if complete() has been called immediately after getting
49916
+ matches instead of in the next loop iteration (zeertzjq).
49917
+
49918
+ Patch 9.1.1611
49919
+ Problem: possible undefined behaviour in mb_decompose(), when using the
49920
+ same pointer as argument several times
49921
+ Solution: Use separate assignments to avoid reading and writing the same
49922
+ object at the same time (Áron Hárnási).
49923
+
49924
+ Patch 9.1.1612
49925
+ Problem: Ctrl-G/Ctrl-T does not ignore the end search delimiter (irisjae)
49926
+ Solution: Check if the pattern ends with a search delimiter and ignore
49927
+ it, unless it is part of the pattern.
49928
+
49929
+ Patch 9.1.1613
49930
+ Problem: tests: test_search leaves a few swapfiles behind
49931
+ Solution: Use :bw! instead of :close to close the swapfile at the end of
49932
+ the test.
49933
+
49934
+ Patch 9.1.1614
49935
+ Problem: Vim9: possible variable type change when using closure in a
49936
+ for loop (Maxim Kim)
49937
+ Solution: Use unwind_locals(..., TRUE) (Yegappan Lakshmanan).
49938
+
49939
+ Patch 9.1.1615
49940
+ Problem: diff format erroneously detected (Tomáš Janoušek)
49941
+ Solution: Make the regex to detect normal diff format a bit stricter,
49942
+ while at it, fix wrong test content from Patch v9.1.1606.
49943
+
49944
+ Patch 9.1.1616
49945
+ Problem: xxd: possible buffer overflow with bitwise output
49946
+ (after v9.1.1459, Xudong Cao)
49947
+ Solution: Update LLNE_NO_COLOR macro definition for the max line output.
49948
+
49949
+ Patch 9.1.1617
49950
+ Problem: Vim9: some error messages can be improved
49951
+ Solution: Improve error messages when parsing generic function type
49952
+ arguments (Yegappan Lakshmanan).
49953
+
49954
+ Patch 9.1.1618
49955
+ Problem: completion: incorrect selected index returned from
49956
+ complete_info()
49957
+ Solution: Return the index into "items" and restore the previous
49958
+ behaviour (Robert Muir).
49959
+
49960
+ Patch 9.1.1619
49961
+ Problem: Incorrect E535 error message (after 9.1.1603).
49962
+ Solution: Don't use transchar(), as the character is always printable
49963
+ (zeertzjq).
49964
+
49965
+ Patch 9.1.1620
49966
+ Problem: filetype: composer.lock and symfony.lock files not recognized
49967
+ Solution: Detect composer.lock and symfony.lock files as json filetype
49968
+ (Dietrich Moerman).
49969
+
49970
+ Patch 9.1.1621
49971
+ Problem: When the popup menu (PUM) occupies more than half the screen
49972
+ height, it flickers whenever a character is typed or erased.
49973
+ Solution: A complete, non-hacky fix would require removing the
49974
+ CmdlineChanged event from the loop and letting autocompletion
49975
+ manage the process end-to-end. This is because screen redraws
49976
+ after any cmdline change are necessary for other features to
49977
+ work (Girish Palya).
49978
+
49979
+ Patch 9.1.1622
49980
+ Problem: Patch v9.1.1432 causes performance regressions
49981
+ Solution: Revert "Patch 9.1.1432 unicode correctly" (Yee Cheng Chin).
49982
+
49983
+ Patch 9.1.1623
49984
+ Problem: Buffer menu does not handle unicode names correctly
49985
+ (after v9.1.1622)
49986
+ Solution: Fix the BMHash() function (Yee Cheng Chin)
49987
+
49988
+ Patch 9.1.1624
49989
+ Problem: Cscope not enabled on MacOS
49990
+ Solution: Remove #ifdef test for MacOS and always enable FEAT_CSCOPE on
49991
+ Unix (Damien Lejay).
49992
+
49993
+ Patch 9.1.1625
49994
+ Problem: Autocompletion slow with include- and tag-completion
49995
+ Solution: Refactor ins_compl_interrupted() to also check for timeout,
49996
+ further refactor code to skip outputting message when
49997
+ performing autocompletion (Girish Palya).
49998
+
49999
+ Patch 9.1.1626
50000
+ Problem: C-indent does not handle compound literals (@44100hertz, @Jorenar)
50001
+ Solution: Detect and handle compound literal and structure
50002
+ initialization (Anttoni Erkkilä).
50003
+
50004
+ Patch 9.1.1627
50005
+ Problem: fuzzy-matching can be improved
50006
+ Solution: Implement a better fuzzy matching algorithm (Girish Palya).
50007
+
50008
+ Patch 9.1.1628
50009
+ Problem: fuzzy.c has a few issues
50010
+ Solution: Use Vims memory management, update style (glepnir).
50011
+
50012
+ Patch 9.1.1629
50013
+ Problem: Vim9: Not able to use more than 10 type arguments in a generic
50014
+ function
50015
+ Solution: Initialize the types after reading all the type arg variable
50016
+ names (Yegappan Lakshmanan).
50017
+
50018
+ Patch 9.1.1630
50019
+ Problem: tests: fuzzy buffer name completion test doesn't match
50020
+ successfully (after 9.1.1627).
50021
+ Solution: Update pattern to account for the change in case sensitivity.
50022
+ Also mark Test_search_stat_option() as flaky as it can still
50023
+ sometimes fail (zeertzjq).
50024
+
50025
+ Patch 9.1.1631
50026
+ Problem: proto files are outdated
50027
+ Solution: Regenerate proto files (Yegappan Lakshmanan).
50028
+
50029
+ Patch 9.1.1632
50030
+ Problem: memory leak in fuzzy.c
50031
+ Solution: Free fuzmatch, add a few minor refactors (glepnir)
50032
+
50033
+ Patch 9.1.1633
50034
+ Problem: Search pattern shown incorrectly with negative offset (lkintact)
50035
+ Solution: Don't prepend a '+' sign to a negative offset (zeertzjq).
50036
+
50037
+ Patch 9.1.1634
50038
+ Problem: Clipboard code can be improved
50039
+ Solution: Slightly refactor code (Foxe Chen).
50040
+
50041
+ Patch 9.1.1635
50042
+ Problem: tabpanel: cannot drag inactive tabs (char101)
50043
+ Solution: use end_visual_mode_keep_button() instead of end_visual_mode()
50044
+ (Naruhiko Nishino).
50045
+
50046
+ Patch 9.1.1636
50047
+ Problem: style issues
50048
+ Solution: Fix indentation of function parameters exceeding 80 character
50049
+ length (Yegappan Lakshmanan).
50050
+
50051
+ Patch 9.1.1637
50052
+ Problem: FEAT_DIFF used in diff.pro
50053
+ Solution: Remove it from the diff protocol file (Yegappan Lakshmanan).
50054
+
50055
+ Patch 9.1.1638
50056
+ Problem: completion: not possible to delay the autcompletion
50057
+ Solution: Add the 'autocompletedelay' option value (Girish Palya).
50058
+
50059
+ Patch 9.1.1639
50060
+ Problem: During commandline completiom, popup window placement can be
50061
+ incorrect when 'noselect' is present in 'wildmode'
50062
+ (Shane-XB-Qian)
50063
+ Solution: Disable "showtail" feature when 'noselect' is present.
50064
+
50065
+ Patch 9.1.1640
50066
+ Problem: Unicode has deprecated some code-points
50067
+ Solution: Update the digraph tables to align with the Unicode v16
50068
+ release (David Friant)
50069
+
50070
+ Patch 9.1.1641
50071
+ Problem: a few compiler warnings are output
50072
+ Solution: Fix compiler warnings (Yegappan Lakshmanan).
50073
+
50074
+ Patch 9.1.1642
50075
+ Problem: configure: wrong C99 feature test
50076
+ Solution: Update inverted C99 feature test logic (Damien Lejay).
50077
+
50078
+ Patch 9.1.1643
50079
+ Problem: tabpanel: mouse code too complicated
50080
+ Solution: Refactor code, adjust ifdefs (Hirohito Higashi).
50081
+
50082
+ Patch 9.1.1644
50083
+ Problem: configure: doesn't separate CPPFLAGS and CFLAGS
50084
+ Solution: Split CPPFLAGS and CFLAGS for pkg-config (Damien Lejay).
50085
+
50086
+ Patch 9.1.1645
50087
+ Problem: fuzzy.c can be further improved
50088
+ Solution: Fix memory leak and refactor it (glepnir).
50089
+
50090
+ Patch 9.1.1646
50091
+ Problem: MS-Windows: completion cannot handle implicit drive letters
50092
+ Solution: Consider paths like \folder and /folder as absolute (Miguel Barro).
50093
+
50094
+ Patch 9.1.1647
50095
+ Problem: filetype: Cangjie files are not recognized
50096
+ Solution: Detect *.cj files as cangjie filetype, include a syntax plugin
50097
+ (WuJunkai2004)
50098
+
50099
+ Patch 9.1.1648
50100
+ Problem: MS-Windows: some style issues with Patch v9.1.1646
50101
+ Solution: Fix typose and code style issues (zeertzjq).
50102
+
50103
+ Patch 9.1.1649
50104
+ Problem: attrs allocation and fuzzy growarray could leak on early returns
50105
+ Solution: Ensure proper cleanup of allocated memory on exit paths (glepnir).
50106
+
50107
+ Patch 9.1.1650
50108
+ Problem: After scrolling a popup and then using popup_settext() with
50109
+ fewer lines, the popup fails to resize properly because
50110
+ firstline points beyond the new buffer content (lifepillar)
50111
+ Solution: In popup_adjust_position(), validate that firstline doesn't
50112
+ exceed buffer line count and reset to 0 (auto-position) if it
50113
+ does (glepnir).
50114
+
50115
+ Patch 9.1.1651
50116
+ Problem: Cannot use clientserver over Unix domain socket
50117
+ Solution: Implement socketserver functionality (Foxe Chen).
50118
+
50119
+ Patch 9.1.1652
50120
+ Problem: Cannot determine non-X11/Wayland clipmethods
50121
+ Solution: Add the "gui" value to the 'clipmethod' option (Foxe Chen)
50122
+
50123
+ Patch 9.1.1653
50124
+ Problem: Coverity complains about Null pointer dereference (after v9.1.1643)
50125
+ Solution: Check that TabPageIdx is not Null.
50126
+
50127
+ Patch 9.1.1654
50128
+ Problem: build failure when FEAT_DIFF is not defined (John Marriott)
50129
+ Solution: Remove FEAT_DIFF in proto.h; define dummy type for
50130
+ diffline_T and diffline_change_T when FEAT_DIFF is not defined
50131
+
50132
+ Patch 9.1.1655
50133
+ Problem: Build-failure in do_mouse() (after v9.1.1653)
50134
+ Solution: Add missing closing paren.
50135
+
50136
+ Patch 9.1.1656
50137
+ Problem: MS-Windows: Patch v9.1.1652 breaks clipboard
50138
+ (ddad431, after v9.1.1652)
50139
+ Solution: Revert the Patch.
50140
+
50141
+ Patch 9.1.1657
50142
+ Problem: Autocompletion adds delay (gcanat, char101, after v9.1.1638)
50143
+ Solution: Temporarily disable autocomplation (Girish Palya).
50144
+
50145
+ Patch 9.1.1658
50146
+ Problem: Missing includes for Wayland headers, when subfolder is used
50147
+ (after v9.1.1644)
50148
+ Solution: Add new $WAYLAND_CPPFLAGS (Christoffer Aasted).
50149
+
50150
+ Patch 9.1.1659
50151
+ Problem: configure: uses AC_INIT without args
50152
+ Solution: Add a comment explaining why AC_INIT has no args (Damien Lejay).
50153
+
50154
+ Patch 9.1.1660
50155
+ Problem: Popups without border/padding/title don't flip position when
50156
+ cursor is near bottom of screen, while decorated popups do
50157
+ flip correctly.
50158
+ Solution: Use original height instead of truncated height for position
50159
+ inversion check, except for info popups to preserve existing
50160
+ behavior (glepnir).
50161
+
50162
+ Patch 9.1.1661
50163
+ Problem: Coverity finds a few issues in clientserver.c
50164
+ (also by Tony Mechelynck)
50165
+ Solution: Fix issues and warnings (Foxe Chen).
50166
+
50167
+ Patch 9.1.1662
50168
+ Problem: Issues with proto files: missing or inconsistent prototypes.
50169
+ Solution: Update ifdefs, move typedefs, fix prototype declaration
50170
+ (Hirohito Higashi).
50171
+
50172
+ Patch 9.1.1663
50173
+ Problem: xxd: 9.1.0023 introduced additional dependency
50174
+ Solution: Remove non-native z/OS library call (David Seal).
50175
+
50176
+ Patch 9.1.1664
50177
+ Problem: configure: can use any autocon
50178
+ Solution: Use AC_PREREQ and require 2.71 (Damien Lejay).
50179
+
50180
+ Patch 9.1.1665
50181
+ Problem: Outdated comment in eval.c.
50182
+ Solution: Remove the comment, which is no longer true after 8.2.1672.
50183
+ Also fix a typo in version9.txt (zeertzjq).
50184
+
50185
+ Patch 9.1.1666
50186
+ Problem: no support for terminal primary device attributes
50187
+ Solution: Add support for detecting the DA1 response from the terminal,
50188
+ add the v:termda1 variable and the 't_Ms' option for the
50189
+ OSC 52 command format (Foxe Chen).
50190
+
50191
+ Patch 9.1.1667
50192
+ Problem: Another outdated comment in eval.c (after 9.1.1665).
50193
+ Solution: Remove that comment as well. Add a few more tests for mapnew()
50194
+ that fail without Patch 8.2.1672 (zeertzjq).
50195
+
50196
+ Patch 9.1.1668
50197
+ Problem: items() does not work for Blobs
50198
+ Solution: Extend items() to support Blob (Yegappan Lakshmanan).
50199
+
50200
+ Patch 9.1.1669
50201
+ Problem: Vim script: no support for URI de-/encoding (ubaldot)
50202
+ Solution: Add the uri_encode() and uri_decode() functions
50203
+ (Yegappan Lakshmanan)
50204
+
50205
+ Patch 9.1.1670
50206
+ Problem: completion: autocomplete breaks second completion (gravndal)
50207
+ Solution: Fix the autocomplete bug (Girish Palya).
50208
+
50209
+ Patch 9.1.1671
50210
+ Problem: configure: missing comment about AC_CONFIG_SRCDIR
50211
+ Solution: Add comment explaining the use of AC_CONFIG_SRCDIR (Damien Lejay).
50212
+
50213
+ Patch 9.1.1672
50214
+ Problem: completion: cannot add timeouts for 'cpt' sources
50215
+ (Evgeni Chasnovski)
50216
+ Solution: Add the 'autocompletetimeout' and 'completetimeout' options
50217
+ (Girish Palya).
50218
+
50219
+ Patch 9.1.1673
50220
+ Problem: if_python: still support for Python 1
50221
+ Solution: Drop outdated code (Hirohito Higashi).
50222
+
50223
+ Patch 9.1.1674
50224
+ Problem: Patch v9.1.1666 causes problems on kitty (Sami Farin)
50225
+ Solution: Remove Ms value from termcodes (Foxe Chen).
50226
+
50227
+ Patch 9.1.1675
50228
+ Problem: MS-Windows: Makefiles can be refactored
50229
+ Solution: Refactor using a common tools.mak, make some style changes
50230
+ (RestorerZ).
50231
+
50232
+ Patch 9.1.1676
50233
+ Problem: completion: long line shown twice (Maxim Kim)
50234
+ Solution: Fix the issue, disable an incorrect test (Girish Palya).
50235
+
50236
+ Patch 9.1.1677
50237
+ Problem: wrong ifdef in message.c
50238
+ Solution: change it to #ifndef MSWIN (Damien Lejay).
50239
+
50240
+ Patch 9.1.1678
50241
+ Problem: Amiga: cannot handle large undo files
50242
+ Solution: Remove the existing restriction as it was only valid for
50243
+ classic Amiga (Damien Lejay).
50244
+
50245
+ Patch 9.1.1679
50246
+ Problem: unclear what key causes CmdlineLeave autocommand
50247
+ Solution: Set |v:char| to the key (Girish Palya).
50248
+
50249
+ Patch 9.1.1680
50250
+ Problem: MS-Windows: possible buffer-under run in if_cscope
50251
+ cs_pathcomponents() (Murali Aniruddhan)
50252
+ Solution: Fix the loop and do not decrement the pointer twice.
50253
+
50254
+ Patch 9.1.1681
50255
+ Problem: tests: no test for actually moving cursor when menu is not
50256
+ open with 'autocompletedelay'.
50257
+ Solution: Use <Up> first in the test. Also remove two unnecessary <Esc>s
50258
+ in completion timeout test (zeertzjq).
50259
+
50260
+ Patch 9.1.1682
50261
+ Problem: tests: Test_wildtrigger_update_screen() creates an unused
50262
+ mapping (after 9.1.1621).
50263
+ Solution: Remove the mapping. Also use blank lines more consistently in
50264
+ test_cmdline.vim screendump tests (zeertzjq).
50265
+
50266
+ Patch 9.1.1683
50267
+ Problem: xxd: Avoid null dereference in autoskip colorless
50268
+ Solution: Verify that colors is not null (Joakim Nohlgård).
50269
+
50270
+ Patch 9.1.1684
50271
+ Problem: min()/max() does not handle float data types (ubaldot)
50272
+ Solution: Extend min() and max() to every comparable type (LemonBoy).
50273
+
50274
+ Patch 9.1.1685
50275
+ Problem: Missing changes from PR 18068
50276
+ Solution: Include the missing changes (Girish Palya).
50277
+
50278
+ Patch 9.1.1686
50279
+ Problem: if_ruby: unknown pragma when not using gcc
50280
+ Solution: only use GCC pragma, when using GCC (Cthulhux).
50281
+
50282
+ Patch 9.1.1687
50283
+ Problem: filetype: autoconf filetype not always correct
50284
+ Solution: Detect aclocal.m4 as config filetype, detect configure.ac as
50285
+ config filetype, fall back to POSIX m4 (Damien Lejay).
50286
+
50287
+ Patch 9.1.1688
50288
+ Problem: potential buffer overrun in bufwrite.c
50289
+ Solution: Use a temporary variable (John Marriott).
50290
+
50291
+ Patch 9.1.1689
50292
+ Problem: CmdlineChanged not triggered by <Del>
50293
+ Solution: Use STRCMP() instead of STRNCMP() (Shougo Matsushita).
50294
+
50295
+ Patch 9.1.1690
50296
+ Problem: Missing recursion guard in dos/unix_expandpath()
50297
+ Solution: Add guard variables (ashamedbit).
50298
+
50299
+ Patch 9.1.1691
50300
+ Problem: over-allocation in ga_concat_strings()
50301
+ Solution: Fix ga_concat_strings() and only allocate n-1 separator length
50302
+ bytes (Damien Lejay).
50303
+
50304
+ Patch 9.1.1692
50305
+ Problem: global_functions are not constant
50306
+ Solution: Place global_functions[] in read-only memory (Damien Lejay).
50307
+
50308
+ Patch 9.1.1693
50309
+ Problem: tests: test_filetype fails in shadow dir (after v9.1.9.1.1687)
50310
+ Solution: Use a custom test that does not rely on configure.ac
50311
+ being existing in the upper directory tree.
50312
+
50313
+ Patch 9.1.1694
50314
+ Problem: filetype: Buck eXtension Lang files are not recognized
50315
+ Solution: Detect *.bxl files as bzl filetype. (Jade Lovelace)
50316
+
50317
+ Patch 9.1.1695
50318
+ Problem: Need more Vim script specific tests
50319
+ Solution: Add more tests (Yegappan Lakshmanan).
50320
+
50321
+ Patch 9.1.1696
50322
+ Problem: getwininfo() has logic for getting the tabnr of a local popup
50323
+ window, but due to only breaking from the inner loop, tp is
50324
+ eventually set to NULL, so tabnr is always 0.
50325
+ Solution: Break out of both loops, continue to use 0 for global popup
50326
+ windows (Sean Dewar).
50327
+
50328
+ Patch 9.1.1697
50329
+ Problem: tests: no test for aclocal.m4 (after v9.1.1693)
50330
+ Solution: Add a test that aclocal.m4 is detected as config filetype.
50331
+
50332
+ Patch 9.1.1698
50333
+ Problem: Some error numbers are not documented (Restorer)
50334
+ Solution: Document missing error numbers (Yegappan Lakshmanan).
50335
+
50336
+ Patch 9.1.1699
50337
+ Problem: Fuzzy completion disabled for 'findfunc' and customlist
50338
+ Solution: Remove those cases from cmdline_fuzzy_completion_supported()
50339
+ because it is supported (Maxim Kim).
50340
+
50341
+ Patch 9.1.1700
50342
+ Problem: a pattern that involves a backref on a different line does not
50343
+ match when 'ignorecase' is set (QiWei, after v9.1.0645)
50344
+ Solution: Use MB_STRNICMP when ignorecase is set, fix tests to close
50345
+ swapfiles.
50346
+
50347
+ Patch 9.1.1701
50348
+ Problem: tests: failure on CI with GUI and ASAN in test_edit.res
50349
+ (Hirohito Higashi)
50350
+ Solution: Disable the test for that specific situation in CI, close
50351
+ swapfiles.
50352
+
50353
+ Patch 9.1.1702
50354
+ Problem: tests: test_edit still fails on CI (after v9.1.1701)
50355
+ Solution: Fix the skip condition.
50356
+
50357
+ Patch 9.1.1703
50358
+ Problem: Cannot react to terminal OSC responses
50359
+ Solution: Allow TermResponseAll to be triggered by Terminal OSC
50360
+ responses (Foxe Chen).
50361
+
50362
+ Patch 9.1.1704
50363
+ Problem: Cannot determine non-X11/Wayland clipmethods
50364
+ Solution: Add the "gui" value to the 'clipmethod' option (Foxe Chen).
50365
+
50366
+ Patch 9.1.1705
50367
+ Problem: time.h include is available on all platforms
50368
+ Solution: Remove ifdef guards and simply include it in all source files,
50369
+ get rid of double include in spellfile.c (Damien Lejay).
50370
+
50371
+ Patch 9.1.1706
50372
+ Problem: MS-Windows: Compile error when building with if_ruby
50373
+ (Christian Robinson, after v9.1.1704)
50374
+ Solution: Do not define gettimeofday() if ruby interface is compiled in
50375
+ (Foxe Chen).
50376
+
50377
+ Patch 9.1.1707
50378
+ Problem: diff.pro contains #ifdefs
50379
+ Solution: Remove unintentionally added ifdefs (Hirohito Higashi).
50380
+
50381
+ Patch 9.1.1708
50382
+ Problem: tests: various tests can be improved
50383
+ Solution: Use string interpolation to concatenate strings in
50384
+ test_winfixbuf, check for specific errors in assert_fails()
50385
+ (Yegappan Lakshmanan).
50386
+
50387
+ Patch 9.1.1709
50388
+ Problem: filetype: kyaml files are not recognized
50389
+ Solution: Detect *.kyml files as yaml filetype (Volodymyr Chernetskyi).
50390
+
50391
+ Patch 9.1.1710
50392
+ Problem: Compile warnings in clipboard.c (xvim64, after v9.1.1704)
50393
+ Solution: Remove returns from void functions (Foxe Chen).
50394
+
50395
+ Patch 9.1.1711
50396
+ Problem: Missing type cast in clipboard.c
50397
+ (Yegappan Lakshmanan, after v9.1.1704)
50398
+ Solution: Add back the type cast (Foxe Chen).
50399
+
50400
+ Patch 9.1.1712
50401
+ Problem: screen not redrawn properly on t_RB response (after v9.1.1703)
50402
+ Solution: Call redraw_asap() if necessary (Julio B).
50403
+
50404
+ Patch 9.1.1713
50405
+ Problem: filetype: fvwm2m4 files are no longer recognized (after 9.1.1687).
50406
+ Solution: Add a special case in m4 filetype detection (zeertzjq).
50407
+
50408
+ Patch 9.1.1714
50409
+ Problem: completion: wildmode=longest:full selects wrong item (zeertzjq)
50410
+ Solution: Fix issue, refactor ex_getln.c slightly (Girish Palya).
50411
+
50412
+ Patch 9.1.1715
50413
+ Problem: Some functions need to be re-ordered
50414
+ Solution: Re-order and move functions around favoring mch_*() functions
50415
+ inside os_*.c files, Change scope of dos_expandpath() to
50416
+ global instead of static (Hirohito Higashi).
50417
+
50418
+ Patch 9.1.1716
50419
+ Problem: The code inside an ifdef was indented incorrectly.
50420
+ Solution: Adjusted the indentation by one level (glepnir).
50421
+
50422
+ Patch 9.1.1717
50423
+ Problem: filetype: AWS cli alias file is not recognized
50424
+ Solution: Detect .aws/cli/alias as confini filetype (Volodymyr Chernetskyi).
50425
+
50426
+ Patch 9.1.1718
50427
+ Problem: filetype: kubectl config file is not recognized
50428
+ Solution: Detect .kube/kubectl as yaml filetype (Volodymyr Chernetskyi).
50429
+
50430
+ Patch 9.1.1719
50431
+ Problem: socket server code can be improved
50432
+ Solution: Refactor code, get rid of gettimeofday() and use ELAPSED_
50433
+ macros (Foxe Chen).
50434
+
50435
+ Patch 9.1.1720
50436
+ Problem: Using gettimeofday() for parsing OSC responses
50437
+ Solution: Use ELAPSED_ macros instead (Foxe Chen).
50438
+
50439
+ Patch 9.1.1721
50440
+ Problem: Defining a global gettimeofday() function causes conflicts if
50441
+ gettimeofday() is already defined.
50442
+ Solution: Revert globalized gettimeofday() function (Hirohito Higashi).
50443
+
50444
+ Patch 9.1.1722
50445
+ Problem: Compiler may optimize away clearing of crypt key
50446
+ Solution: Use sodium_memzero() if available, else use memset() using a
50447
+ volatile function pointer (ashamedbit).
50448
+
50449
+ Patch 9.1.1723
50450
+ Problem: Missing ifdefs (after v9.1.1719)
50451
+ Solution: Add ifdef ELAPSED_FUNC (Foxe Chen).
50452
+
50453
+ Patch 9.1.1724
50454
+ Problem: Compiler warning about ununitialized variable in ex_docmd.
50455
+ Solution: Initialize result variable (mityu).
50456
+
50457
+ Patch 9.1.1725
50458
+ Problem: Wayland code can be improved
50459
+ Solution: Refactor Wayland Clipboard code (Foxe Chen).
50460
+
50461
+ Patch 9.1.1726
50462
+ Problem: Patch v9.1.1725 causes problems
50463
+ Solution: Revert the Patch for now.
50464
+
50465
+ Patch 9.1.1727
50466
+ Problem: Nextstep support still included
50467
+ Solution: Deprecate Nextstep code and undef corresponding feature flag.
50468
+
50469
+ Patch 9.1.1728
50470
+ Problem: termdebug: cannot evaluate visual selected expression
50471
+ Solution: Add support for visual mode, mapped to K by default (bennyyip).
50472
+
50473
+ Patch 9.1.1729
50474
+ Problem: CI is not run with clang 21
50475
+ Solution: Update CI to v21, fix a few warnings that are uncovered when
50476
+ using clang 21 (Philip H).
50477
+
50478
+ Patch 9.1.1730
50479
+ Problem: filetype: vivado journal/log files are not recognized
50480
+ Solution: Detect vivado*.{jou,log} as tcl filetype (Wu Zhenyu).
50481
+
50482
+ Patch 9.1.1731
50483
+ Problem: Not using const qualifier
50484
+ Solution: Mark the opchars array const.
50485
+
50486
+ Patch 9.1.1732
50487
+ Problem: filetype: .inc file detection can be improved
50488
+ Solution: Update filetype detection for Pascal and BitBake code
50489
+ (Martin Schwan).
50490
+
50491
+ Patch 9.1.1733
50492
+ Problem: tests: failure when remote_server() fails
50493
+ Solution: Catch E240 error when calling remote_server(), Fix syntax
50494
+ error in test_wayland.vim.
50495
+
50496
+ Patch 9.1.1734
50497
+ Problem: Memory leak when allocating match fails
50498
+ Solution: Initialize m to NULL and centralize cleanup via goto fail to
50499
+ avoid leaks on early returns (Damien Lejay).
50500
+
50501
+ Patch 9.1.1735
50502
+ Problem: Cygwin Makefile still checks for Win XP version
50503
+ Solution: Remove check for WINVER >= 0x600 in Make_cyg_ming.mak
50504
+ (Mao-Yining).
50505
+
50506
+ Patch 9.1.1736
50507
+ Problem: Cannot detect <F3> using kitty protocol
50508
+ Solution: Handle and detect Kitty keys when using the trailing "~" byte.
50509
+
50510
+ Patch 9.1.1737
50511
+ Problem: Patch v9.1.1714 introduce a regression for wildmenu (zeertzjq)
50512
+ Solution: Restore behavior of "longest" in 'wildmode' (Girish Palya).
50513
+
50514
+ Patch 9.1.1738
50515
+ Problem: cmdline-autocompletion breaks history navigation (ddad431)
50516
+ Solution: Support history navigation in cmdline autocompletion (Girish
50517
+ Palya).
50518
+
50519
+ Patch 9.1.1739
50520
+ Problem: Matches may be listed twice with wildmode=longest,list when
50521
+ "longest" doesn't change command line (after 9.1.1737).
50522
+ Solution: Set did_wild_list when trying "list" after "longest" (zeertzjq).
50523
+
50524
+ Patch 9.1.1740
50525
+ Problem: Memory leak with wildmode=longest,full and wildoptions=pum
50526
+ (after 9.1.1737).
50527
+ Solution: Avoid using showmatches() and WILD_NEXT together. Also fix
50528
+ wildmode=longest,noselect:full selecting wrong item (zeertzjq).
50529
+
50530
+ Patch 9.1.1741
50531
+ Problem: Regression with kitty protocol and trailing byte "u"
50532
+ (chdiza, after v9.1.1736)
50533
+ Solution: Check that trailing byte "~" is present.
50534
+
50535
+ Patch 9.1.1742
50536
+ Problem: complete: preinsert does not work well with preinsert
50537
+ Solution: Make "preinsert" completeopt value work with autocompletion
50538
+ (Girish Palya).
50539
+
50540
+ Patch 9.1.1743
50541
+ Problem: Haiku: no full-screen support
50542
+ Solution: Add support for toggling full-screen using the keyboard (rymdbar)
50543
+
50544
+ Patch 9.1.1744
50545
+ Problem: tests: Test_skip_wildtrigger_hist_navigation() may fail (zeertzjq).
50546
+ Solution: Correct test to validate intended behavior (Girish Palya).
50547
+
50548
+ Patch 9.1.1745
50549
+ Problem: tabpanel: not properly redraw after wildmenu (ddad431)
50550
+ Solution: Mark tabpanel to be redrawn (Hirohito Higashi).
50551
+
50552
+ Patch 9.1.1746
50553
+ Problem: Missing Null ptr check in cs_find_common()
50554
+ Solution: Return when tmp pointer is null (ashamedbit).
50555
+
50556
+ Patch 9.1.1747
50557
+ Problem: completion: redo (.) broken with preinsert and autocompletion
50558
+ Solution: Make redo (.) work with preinsert and autocompletion (Girish Palya).
50559
+
50560
+ Patch 9.1.1748
50561
+ Problem: macOS: Default scheduler priority too low
50562
+ Solution: Explicitly set TASK_DEFAULT_APPLICATION scheduler priority
50563
+ to improve responsiveness (Luna Razzaghipour).
50564
+
50565
+ Patch 9.1.1749
50566
+ Problem: leaking memory in cs_find_common() (after v9.1.1746)
50567
+ Solution: Also free nummatches before returning.
50568
+
50569
+ Patch 9.1.1750
50570
+ Problem: completion: preinserted text highlighed using ComplMatchIns
50571
+ Solution: Use highlighting group PreInsert and update the documentation
50572
+ (Girish Palya).
50573
+
50574
+ Patch 9.1.1751
50575
+ Problem: potential buffer-overflow in find_pattern_in_path()
50576
+ Problem: Verify ptr p has enough room before adding ins_compl_len().
50577
+
50578
+ Patch 9.1.1752
50579
+ Problem: tests: No test when deleting text after autocompletion with
50580
+ preinsert did complete an entry
50581
+ Solution: Verify, that after deletion autocompletion does not reinsert
50582
+ the deleted text. Note: the actual issue was fixed with v9.1.1750
50583
+ (Girish Palya).
50584
+
50585
+ Patch 9.1.1753
50586
+ Problem: defaults: 'diffopt' option value can be improved
50587
+ Solution: Update diffopt defaults to include "indent-heuristic" and
50588
+ "inline:char" (Yee Cheng Chin)
50589
+
50590
+ Patch 9.1.1754
50591
+ Problem: :helptags doesn't skip examples with syntax (Evgeni Chasnovski)
50592
+ Solution: Check for examples with syntax (zeertzjq).
50593
+
50594
+ Patch 9.1.1755
50595
+ Problem: filetype: generic log files are not recognized
50596
+ Solution: Detect *.log files as log filetype, include simple log syntax
50597
+ script (Mao-Yining).
50598
+
50599
+ Patch 9.1.1756
50600
+ Problem: termdebug: Need a few more user commands
50601
+ Solution: Add the :RunOrContinue and the :ToggleBreak user commands
50602
+ (bennyyip)
50603
+
50604
+ Patch 9.1.1757
50605
+ Problem: The colorresp plugin causes additional redraws
50606
+ (Linwei, after v9.1.1703)
50607
+ Solution: Move the code back into the C core and get rid of the vim
50608
+ plugin (Foxe Chen).
50609
+
50610
+ Patch 9.1.1758
50611
+ Problem: Diff mode crashes when adding text property in autocommand
50612
+ (after 9.1.1557).
50613
+ Solution: Only restore ML_EMPTY memline flag, ignore the others (zeertzjq).
50614
+
50615
+ Patch 9.1.1759
50616
+ Problem: filetype: generic log detection is too disturbing (after v9.1.1755)
50617
+ Solution: Revert setting log filetype.
50618
+
50619
+ Patch 9.1.1760
50620
+ Problem: wrong proto file for insexpand.pro
50621
+ Solution: Update insexpand.pro (Hirohito Higashi).
50622
+
50623
+ Patch 9.1.1762
50624
+ Problem: completion: selected item not cleared on backspace when
50625
+ 'autocomplete' is set
50626
+ Solution: Clear the selected item (Girish Palya).
50627
+
50628
+ Patch 9.1.1763
50629
+ Problem: filetype: kitty config files are not recognized
50630
+ Solution: Detect */kitty/*.conf as kitty filetype, include a syntax
50631
+ script (Shawon).
50632
+
50633
+ Patch 9.1.1764
50634
+ Problem: filetype: CODEOWNERS file not recognized
50635
+ Solution: Detect CODEOWNERS file as codeowners filetype, include a
50636
+ syntax and filetype plugin (Jon Parise).
50637
+
50638
+ Patch 9.1.1765
50639
+ Problem: f_isnan() and f_isinf() do not correctly initialize rettv type
50640
+ Solution: Initialize them with type: VAR_NUMBER and value 0 (Damien Lejay).
50641
+
50642
+ Patch 9.1.1766
50643
+ Problem: Vim9: some Vim9 functions do not handle null_string correctly
50644
+ and may crash Vim (kennypete).
50645
+ Solution: Check for null_string correctly in the searchpair() and
50646
+ substitute() functions (Yegappan Lakshmanan).
50647
+
50648
+ Patch 9.1.1767
50649
+ Problem: Patch v9.1.1765 was wrong
50650
+ Solution: Roll back the change, it's correct to have call_func() initialize
50651
+ the type, so that not each function has to do this on its own.
50652
+
50653
+ Patch 9.1.1768
50654
+ Problem: Makefile does not uninstall global plugins (after v9.1.1757)
50655
+ Solution: Uninstall global plugins before installing them, so that old files
50656
+ are not carried around and loaded when no longer used.
50657
+
50658
+ Patch 9.1.1769
50659
+ Problem: completion: "preinsert" insert wrong word with 'smartcase' and
50660
+ 'autocomplete'
50661
+ Solution: Add compare completed item with the leader (Girish Palya).
50662
+
50663
+ Patch 9.1.1770
50664
+ Problem: Vim9: wrong behaviour with trailing comments in command blocks
50665
+ (balki)
50666
+ Solution: Correctly skip over trailing comments (Yegappan Lakshmanan).
50667
+
50668
+ Patch 9.1.1771
50669
+ Problem: complete: some redraw issues with 'autocomplete'
50670
+ Solution: Fix the issues (Girish Palya).
50671
+
50672
+ Patch 9.1.1772
50673
+ Problem: completion: inconsistent selection of first item with
50674
+ 'autocomplete' (Tomasz N)
50675
+ Solution: Check for 'autocomplete' option in ins_compl_new_leader()
50676
+ (Girish Palya).
50677
+
50678
+ Patch 9.1.1773
50679
+ Problem: Crash in BufLeave/WinLeave/TabLeave when closing window after
50680
+ BufUnload closes all other windows in the tab page.
50681
+ Solution: Avoid duplicate BufLeave/WinLeave events. Trigger TabLeave
50682
+ before removing the buffer (zeertzjq).
50683
+
50684
+ Patch 9.1.1774
50685
+ Problem: cannot calculate sha256() of a Blob
50686
+ Solution: Change sha256() to accept a Blob or String argument (thinca).
50687
+
50688
+ Patch 9.1.1775
50689
+ Problem: filetype: Mamba configuration files are not recognized
50690
+ Solution: Detect .mambarc and mambarc as yaml filetype (Samuel Huang).
50691
+
50692
+ Patch 9.1.1776
50693
+ Problem: "adding" expansion doesn't work with cfc=keyword.
50694
+ Solution: Remove incorrect assignment to compl_cont_status. Don't use
50695
+ fuzzy collection in "adding" status (zeertzjq).
50696
+
50697
+ Patch 9.1.1777
50698
+ Problem: Mouse click to open fold doesn't work with utf-8 "foldclose"
50699
+ chars (Balki)
50700
+ Solution: Use ScreenLinesUC[off] if it is set (zeertzjq).
50701
+
50702
+ Patch 9.1.1778
50703
+ Problem: sha256() treats empty blob and null blob differently
50704
+ (after 9.1.1774).
50705
+ Solution: Handle null blob the same as empty blob (zeertzjq).
50706
+
50707
+ Patch 9.1.1779
50708
+ Problem: completion: 'autocomplete' cannot be enabled per buffer (Tomasz N)
50709
+ Solution: Make 'autocomplete' global or local to buffer (Girish Palya).
50710
+
50711
+ Patch 9.1.1780
50712
+ Problem: mbyte contains overlapping list of utf_classes table
50713
+ Solution: Update table to contain non-overlapping list (Yuta Yamamoto).
50714
+
50715
+ Patch 9.1.1781
50716
+ Problem: some functions could be defined static
50717
+ Solution: Change function definitions and make them static
50718
+ (Yegappan Lakshmanan).
50719
+
50720
+ Patch 9.1.1782
50721
+ Problem: buffer-listener callbacks may not match buffer content, since
50722
+ they are buffered until the screen is updated.
50723
+ Solution: Allow to handle buffer-callbacks un-buffered, meaning to
50724
+ handle those changes as soon as they happen (Paul Ollis).
50725
+
50726
+ Patch 9.1.1783
50727
+ Problem: ins_compl_leader() defined too far away from
50728
+ ins_compl_leader_len() (after 9.1.1781).
50729
+ Solution: Move ins_compl_leader() just before ins_compl_leader_len(). Add
50730
+ missing "static" to eval0_simple_funccal() definition (zeertzjq).
50731
+
50732
+ Patch 9.1.1784
50733
+ Problem: Wayland code can be improved
50734
+ Solution: Refactor Wayland Clipboard code (Foxe Chen).
50735
+
50736
+ Patch 9.1.1785
50737
+ Problem: typo in comment in change.c (after v9.1.1782)
50738
+ Solution: Fix typo in comment in change.c (Christ van Willegen).
50739
+
50740
+ Patch 9.1.1786
50741
+ Problem: Compile error with clipboard (lacyggoill, after v9.1.1784)
50742
+ Solution: Add $WAYLAND_SRC as dependency for clipboard.c in Makefile
50743
+ (Foxe Chen).
50744
+
50745
+ Patch 9.1.1787
50746
+ Problem: filetype: not all Sway config files are recognized
50747
+ Solution: Detect files within /sway/config.d/* as swayconfig filetype
50748
+ (Felix Pehla).
50749
+
50750
+ Patch 9.1.1788
50751
+ Problem: Vim9: can declare a void variable (Ernie Rael)
50752
+ Solution: Disallow such variable declaration (Yegappan Lakshmanan).
50753
+
50754
+ Patch 9.1.1789
50755
+ Problem: MS-Windows: using wrong check for bold font (after v9.1.1347)
50756
+ Solution: Test if lf.lfWeight == FW_BOLD instead of a simple truthiness
50757
+ test (Shay).
50758
+
50759
+ Patch 9.1.1790
50760
+ Problem: completion: Enter does not insert match with "noinsert"
50761
+ (Sergey Vlasov)
50762
+ Solution: Check for compl_shown_match instead of compl_selected_item
50763
+ (zeertzjq).
50764
+
50765
+ Patch 9.1.1791
50766
+ Problem: type(void) throws an internal error (atitcreate)
50767
+ Solution: Return proper error message (Yegappan Lakshmanan).
50768
+
50769
+ Patch 9.1.1792
50770
+ Problem: List of changes not protected from changes when processing
50771
+ listeners (after v9.1.1782)
50772
+ Solution: Fully lock changes list for listener callbacks (Paul Ollis).
50773
+
50774
+ Patch 9.1.1793
50775
+ Problem: Link error when build without channel feature
50776
+ (lindhobe, after v9.1.1774)
50777
+ Solution: Remove ifdef FEAT_JOB_CHANNEL around check_for_string_or_blob_arg().
50778
+
50779
+ Patch 9.1.1794
50780
+ Problem: configure: terminfo test does not work with musl
50781
+ (T3rm1, after v9.9.1.0837)
50782
+ Solution: Include term.h in configure script, add forward declarations,
50783
+ in case headers are not found.
50784
+
50785
+ Patch 9.1.1795
50786
+ Problem: Vim9: popup_show() may return void
50787
+ Solution: Modify popup_show() to return -1 for an invalid popup window
50788
+ id (Yegappan Lakshmanan).
50789
+
50790
+ Patch 9.1.1796
50791
+ Problem: Wrong cursor position with wrapped "after" virtual text and
50792
+ 'showbreak' (Ben Jackson)
50793
+ Solution: Count size of 'showbreak' in wrapped "after" virtual text in
50794
+ line size (zeertzjq).
50795
+
50796
+ Patch 9.1.1797
50797
+ Problem: completion: autocompletion can be improved
50798
+ Solution: Add support for "longest" and "preinsert" in 'autocomplete';
50799
+ add preinserted() (Girish Palya)
50800
+
50801
+ Patch 9.1.1798
50802
+ Problem: Wrong display with 'smoothscroll' and long wrapped virtual
50803
+ text at EOL.
50804
+ Solution: Handle w_skipcol inside long wrapped virtual text at EOL (zeertzjq).
50805
+
50806
+ Patch 9.1.1799
50807
+ Problem: completion: crash with autcompletion (Maxim Kim)
50808
+ Solution: Rework remove_old_matches (Girish Palya).
50809
+
50810
+ Patch 9.1.1800
50811
+ Problem: completion: strange behaviour with 'ac'
50812
+ completeopt=longest,preinsert (zeertzjq)
50813
+ Solution: Let preinsert take precedence (Girish Palya).
50814
+
50815
+ Patch 9.1.1801
50816
+ Problem: Vim9: misleading error when extending dictionary (lacygoill).
50817
+ Solution: Give a proper error message when a Dict type is used with a
50818
+ compound operator (Yegappan Lakshmanan).
50819
+
50820
+ Patch 9.1.1802
50821
+ Problem: 'nowrap' in a modeline may hide malicious code.
50822
+ Solution: Forcibly use '>' as 'listchars' "extends" if 'nowrap' was set
50823
+ from a modeline (zeertzjq).
50824
+
50825
+ Patch 9.1.1803
50826
+ Problem: Amiga: build errors
50827
+ Solution: Update preprocessor conditionals (Ola Söder).
50828
+
50829
+ Patch 9.1.1804
50830
+ Problem: Wrong indentation of nested ifdefs in findfile.c
50831
+ Solution: Update indentation (Ola Söder).
50832
+
50833
+ Patch 9.1.1805
50834
+ Problem: Amiga: Missing build date in version string
50835
+ Solution: Set build date in CFLAGS in Makefile (Ola Söder).
50836
+
50837
+ Patch 9.1.1806
50838
+ Problem: Missing PROTO defines
50839
+ Solution: Update ifdefs, update Makefile dependencies, updated proto files
50840
+ (Hirohito Higashi).
50841
+
50842
+ Patch 9.1.1807
50843
+ Problem: :set doesn't clear local insecure flag like :setlocal does.
50844
+ Solution: Also clear the local insecure flag when using :set (zeertzjq).
50845
+
50846
+ Patch 9.1.1808
50847
+ Problem: Option insecure flags not copied when splitting window.
50848
+ Solution: Move window-local insecure flags to winopt_T and copy them
50849
+ properly (zeertzjq).
50850
+
50851
+ Patch 9.1.1809
50852
+ Problem: winclip.pro included in PRO_AUTO
50853
+ Solution: Remove it from PRO_AUTO since it is already defined in
50854
+ PRO_MANUAL (Hirohito Higashi).
50855
+
50856
+ Patch 9.1.1810
50857
+ Problem: completion: "longest" doesn't work for manual completion when
50858
+ 'autocomplete' is on (after 9.1.1800).
50859
+ Solution: Only reset compl_get_longest when enabling autocompletion (zeertzjq)
50860
+
50861
+ Patch 9.1.1811
50862
+ Problem: Amiga: Initialization of random buffer can be improved
50863
+ Solution: Use RANDOM device when available (Ola Söder)
50864
+
50865
+ Patch 9.1.1812
50866
+ Problem: completion: flicker with slow LSPs
50867
+ Solution: Disable flushing the changed text (Girish Palya).
50868
+
50869
+ Patch 9.1.1813
50870
+ Problem: MS-Windows: title bar is always white
50871
+ Solution: Set_caption() and set the title bars color to the Normal
50872
+ highlighting background (Mao-Yining)
50873
+
50874
+ Patch 9.1.1814
50875
+ Problem: Patch v9.1.1812 causes crashes
50876
+ Solution: Revert v9.1.1812
50877
+
50878
+ Patch 9.1.1815
50879
+ Problem: file mode changes in os_amiga.pro to 644 (RestorerZ after v9.1.1811)
50880
+ Solution: Fix the permissions of proto/os_amiga.pro to 644 (Hirohito Higashi).
50881
+
50882
+ Patch 9.1.1816
50883
+ Problem: existing icon files are dated
50884
+ Solution: Update and remake those icons using 256 colors (RestorerZ).
50885
+
50886
+ Patch 9.1.1817
50887
+ Problem: popup: there are some position logic bugs
50888
+ Solution: Refactor position logic and fix a few bugs (Girish Palya).
50889
+
50890
+ Patch 9.1.1818
50891
+ Problem: possible crash when calculating topline in diff.c (youngmith)
50892
+ Solution: Check for pointer being Null before accessing it.
50893
+
50894
+ Patch 9.1.1819
50895
+ Problem: Cannot configure the inner foldlevel indicator for the
50896
+ foldcolumn
50897
+ Solution: Add "foldinner" suboption value to the 'fillchar' option
50898
+ (Maria José Solano).
50899
+
50900
+ Patch 9.1.1820
50901
+ Problem: completion: some issues with 'acl' when "preinsert" and
50902
+ "longest" is in 'completeopt' (musonius, after v9.1.1638)
50903
+ Solution: Fix various issues (see details below) (Girish Palya).
50904
+
50905
+ Patch 9.1.1821
50906
+ Problem: filetype: Not all PKL files are recognized
50907
+ Solution: Detect *.pcf as pkl filetype, detect using the pkl-lsp://
50908
+ protocol as pkl filetype, include PKL syntax script (Jan Claußen).
50909
+
50910
+ Patch 9.1.1822
50911
+ Problem: Makefile still supports Perl < 5.005
50912
+ Solution: Remove support for Perl < 5.005, it's long been obsolete
50913
+ (Hirohito Higashi)
50914
+
50915
+ Patch 9.1.1823
50916
+ Problem: diff: w_topline may be invalidated
50917
+ Solution: Update lnum in diff_set_topline() (Yee Cheng Chin).
50918
+
50919
+ Patch 9.1.1824
50920
+ Problem: tests: no test for displaying 'foldcolumn' with Unicode
50921
+ "foldinner" in 'fillchars'.
50922
+ Solution: Add a few more test cases. Also fix misplaced "foldinner"
50923
+ entry in version9.txt (zeertzjq).
50924
+
50925
+ Patch 9.1.1825
50926
+ Problem: completion: flicker when LSP server is slow
50927
+ Solution: reinsert leader text before invoking user function (Girish Palya).
50928
+
50929
+ Patch 9.1.1826
50930
+ Problem: Patch v9.1.1230 causes confusion about Ctrl-C behaviour
50931
+ (kuuote, after v9.1.1230)
50932
+ Solution: Revert the behaviour, keep the old behaviour.
50933
+
50934
+ Patch 9.1.1827
50935
+ Problem: completion: v9.1.1797 broke Ctrl-Y behaviour
50936
+ (ddad431, after v9.1.1797)
50937
+ Solution: Restore correct behaviour (Girish Palya).
50938
+
50939
+ Patch 9.1.1828
50940
+ Problem: local variables shadowed by import names
50941
+ Solution: Check if a local variable exists before handling imports (thinca).
50942
+
50943
+ Patch 9.1.1829
50944
+ Problem: filetype: KerML and SysML files are not recognized
50945
+ Solution: Detect *.kerml as kerml filetype, detect *.sysml as sysml
50946
+ filetype, include a kerml and sysml filetype plugin
50947
+ (Daumantas Kavolis).
50948
+
50949
+ Patch 9.1.1830
50950
+ Problem: MS-Windows: Dark mode titlebar is not configurable (after v9.1.1813)
50951
+ Solution: Revert Patch v9.1.1813
50952
+
50953
+ Patch 9.1.1831
50954
+ Problem: vertical separator of 'winfixwidth' windows may remain if they
50955
+ become right-most windows from closing windows to the right.
50956
+ Solution: Don't implicitly rely on frame_new_width to fix vseps, as the
50957
+ call may be skipped for 'winfixwidth' windows to preserve
50958
+ their width; do it explicitly in winframe_remove (Sean Dewar).
50959
+
50960
+ Patch 9.1.1832
50961
+ Problem: if_perl: contains references to legacy if_perlsfio.{c,pro} and
50962
+ USE_SFIO
50963
+ Solution: Remove those references (Hirohito Higashi).
50964
+
50965
+ Patch 9.1.1833
50966
+ Problem: completion: fuzzy candidates are not sorted (ddad431)
50967
+ Solution: Always sort fuzzy candidates (Girish Palya).
50968
+
50969
+ Patch 9.1.1834
50970
+ Problem: MS-Windows: not possible to highlight the title bar
50971
+ Solution: Make the title/caption bar configurable by introducing the
50972
+ 'go-C' option value which allows to highlight it using the
50973
+ TitleBar and TitleBarNC highlighting groups (Mao-Yining).
50974
+
50975
+ Patch 9.1.1835
50976
+ Problem: not possible to style popup borders globally
50977
+ Solution: Add the 'pumborder' option (Girish Palya).
50978
+
50979
+ Patch 9.1.1836
50980
+ Problem: 'cursorlineopt' "screenline" isn't redrawn when moving cursor
50981
+ and then using line("w0") and :retab that does nothing.
50982
+ Solution: Call redraw_for_cursorcolumn() when setting a valid w_virtcol
50983
+ (zeertzjq).
50984
+
50985
+ Patch 9.1.1837
50986
+ Problem: tests: Test_plugin_evaluate_in_popup() fails on 32bit arch
50987
+ (James McCoy)
50988
+ Solution: Instead of evaluating the ptr, let's evaluate just the pointer
50989
+ content, skipping printing the pointer address.
50990
+
50991
+ Patch 9.1.1838
50992
+ Problem: proto files out of sync
50993
+ Solution: Update proto files (Hirohito Higashi).
50994
+
50995
+ Patch 9.1.1839
50996
+ Problem: Window may have wrong height if resized from another tabpage.
50997
+ Solution: Improve check for whether a tabline has been added (zeertzjq).
50998
+
50999
+ Patch 9.1.1840
51000
+ Problem: Generating prototype files does not work on all platforms
51001
+ Solution: Rework prototypes generation using python instead of cproto,
51002
+ enable it in CI to test it for each PR (Hirohito Higashi).
51003
+
51004
+ Patch 9.1.1841
51005
+ Problem: Patch 9.1.1840 adds python build dependency (chdizza)
51006
+ Solution: Update dependencies (Hirohito Higashi).
51007
+
51008
+ Patch 9.1.1842
51009
+ Problem: MS-Windows: build failure when mzscheme is included
51010
+ (dertuxmalwieder, after v9.1.1838)
51011
+ Solution: skip specific section when PROTO is defined (Hirohito Higashi).
51012
+
51013
+ Patch 9.1.1843
51014
+ Problem: tests: Test_search_stat_option() may fail on slow systems
51015
+ Solution: test_search_stat: Extend searchcount() timeout if the test is
51016
+ being re-run due to flakiness (James McCoy).
51017
+
51018
+ Patch 9.1.1844
51019
+ Problem: Makefile: dependencies not updated (Hirohito Higashi)
51020
+ Solution: Update Dependencies after v9.1.1841.
51021
+
51022
+ Patch 9.1.1845
51023
+ Problem: Makefile: Missing dependency on osdef.h
51024
+ Solution: Add explicit dependency on auto/osdef.h.
51025
+
51026
+ Patch 9.1.1846
51027
+ Problem: Build failure when building without wayland
51028
+ (bennyyip, after v9.1.1844)
51029
+ Solution: Update Makefile dependencies again, remove wayland dependencies for
51030
+ clipboard.c.
51031
+
51032
+ Patch 9.1.1847
51033
+ Problem: No cmdline completion for :echoconsole, :echowindow and second
51034
+ expression after :echoerr.
51035
+ Solution: Set EXPAND_EXPRESSION for :echoconsole and :echowindow, and
51036
+ check for multiple expressions after :echoerr (zeertzjq).
51037
+
51038
+ Patch 9.1.1848
51039
+ Problem: A few typos in the code
51040
+ Solution: Fix typos (zeertzjq).
51041
+
51042
+ Patch 9.1.1849
51043
+ Problem: CTRL-F and CTRL-B don't work in more prompt
51044
+ Solution: Make CTRL-F and CTRL-B scroll by a screen down/up
51045
+ (Bjoern Foersterling)
51046
+
51047
+ Patch 9.1.1850
51048
+ Problem: completion: not triggered after i_Ctrl-W/i_Ctrl-U
51049
+ Solution: Trigger autocomplete when entering Insert mode (Girish Palya).
51050
+
51051
+ Patch 9.1.1851
51052
+ Problem: memory leak in heredoc_get()
51053
+ Solution: Free "str" if list_append_string() fails (Lidong Yan).
51054
+
51055
+ Patch 9.1.1852
51056
+ Problem: vim9class: fix memory leak in parse_member()
51057
+ Solution: Free evalarg before returning (Lidong Yan).
51058
+
51059
+ Patch 9.1.1853
51060
+ Problem: Ctrl-F and Ctrl-B at more prompt not working with kitty
51061
+ keyboard protocol or modifyOtherKeys (after v9.1.1849).
51062
+ Solution: Call merge_modifyOtherKeys() in get_keystroke() (zeertzjq).
51063
+
51064
+ Patch 9.1.1854
51065
+ Problem: unnecessary code in optionstr.c
51066
+ Solution: Remove it (Hirohito Higashi).
51067
+
51068
+ Patch 9.1.1855
51069
+ Problem: Makefile: using non-portable syntax (Jonathan Schleifer)
51070
+ Solution: Remove duplicate parenthesis.
51071
+
51072
+ Patch 9.1.1856
51073
+ Problem: cannot style popup window (border, shadow, etc)
51074
+ Solution: Extend the 'completepopup' option with additional properties
51075
+ (Girish Palya).
51076
+
51077
+ Patch 9.1.1857
51078
+ Problem: Missing clipboard provider support (lilydjwg)
51079
+ Solution: Add clipboard provider feature (Foxe Chen).
51080
+
51081
+ Patch 9.1.1858
51082
+ Problem: v:register not reset after Visual mode command (laktak).
51083
+ Solution: Reset v:register if Visual mode was active before
51084
+ do_pending_operator() (zeertzjq).
51085
+
51086
+ Patch 9.1.1859
51087
+ Problem: completion: whitespace not cleared with 'ai'
51088
+ Solution: Remove spaces added by 'autoindent' when autocomplete is set
51089
+ and restore did_ai in ins_compl_start() (Maxim Kim)
51090
+
51091
+ Patch 9.1.1860
51092
+ Problem: clipboard register "+" enabled with cplipboard provider feature
51093
+ (BenYip, after v9.1.1857)
51094
+ Solution: Don't make clipboard provider enable plus register on UNIX
51095
+ (Foxe Chen).
51096
+
51097
+ Patch 9.1.1861
51098
+ Problem: Amiga: Locating runtime directory and rc files can be
51099
+ simplified.
51100
+ Solution: Use assigns since it's simpler and more in line with
51101
+ how other Amiga applications work (Ola Söder).
51102
+
51103
+ Patch 9.1.1862
51104
+ Problem: Wrong ifdefs for clipboard provider (after v9.1.1857)
51105
+ Solution: Update ifdefs (Foxe Chen).
51106
+
51107
+ Patch 9.1.1863
51108
+ Problem: Cannot test for working "+" register
51109
+ Solution: Add a few more feature tests (Foxe Chen).
51110
+
51111
+ Patch 9.1.1864
51112
+ Problem: tests: Clipboard provider feature test failure
51113
+ Solution: Check in the test that the + clipboard register is available,
51114
+ fix compile warning (Foxe Chen)
51115
+
51116
+ Patch 9.1.1865
51117
+ Problem: tests: test_codestyle does not notice lines containing only a tab
51118
+ Solution: Fix the whitespace issue in eval.txt, update test_codestyle to
51119
+ notice such issues (Hirohito Higashi).
51120
+
51121
+ Patch 9.1.1866
51122
+ Problem: HAVE_STRCSPN define is unused
51123
+ Solution: Remove all HAVE_STRCSPN defines (Ola Söder).
51124
+
51125
+ Patch 9.1.1867
51126
+ Problem: HAVE_STDARG_H still defined (after v7.4.1216)
51127
+ Solution: Remove all remaining occurrences of HAVE_STDARG_H (Ola Söder).
51128
+
51129
+ Patch 9.1.1868
51130
+ Problem: v:register is wrong in v_: command (after 9.1.1858).
51131
+ Solution: Don't reset v:register for OP_COLON (zeertzjq).
51132
+
51133
+ Patch 9.1.1869
51134
+ Problem: tests: test failures with Python 3.14 and test_python3
51135
+ Solution: Adjust the expected error message (Yee Cheng Chin).
51136
+
51137
+ Patch 9.1.1870
51138
+ Problem: :Tutor may not work as expected
51139
+ Solution: set buftype=nowrite instead of nofile (Phạm Bình An).
51140
+
51141
+ Patch 9.1.1871
51142
+ Problem: Wrong 'showcmd' in the command-line window.
51143
+ Solution: Clear 'showcmd' when entering cmdwin (zeertzjq).
51144
+
51145
+ Patch 9.1.1872
51146
+ Problem: Cmdline history not updated when mapping both <Up> and <CR>.
51147
+ Solution: Consider the command typed when in Cmdline mode and there is
51148
+ no pending input (zeertzjq).
51149
+
51150
+ Patch 9.1.1873
51151
+ Problem: Clipboard provider feature broke clipboard support (Yee Cheng Chin)
51152
+ Solution: Revert clipboard changes (Foxe Chen).
51153
+
51154
+ Patch 9.1.1874
51155
+ Problem: PMenuShadow overrides highlighting attributes (Maxim Kim)
51156
+ Solution: Use hl_combine_attr() to combine popup attribute with shadow
51157
+ attribute (Girish Palya).
51158
+
51159
+ Patch 9.1.1875
51160
+ Problem: username parsing bug in netrw plugin when using remote adding
51161
+ feature
51162
+ Solution: Allow any characters except for "@" (Václav Kobera), add a
51163
+ test for the netrw plugin.
51164
+
51165
+ Patch 9.1.1876
51166
+ Problem: pre-inserted text not exposed in complete_info()
51167
+ Solution: Add the pre-inserted text to the complete_info() Vim script
51168
+ function (Girish Palya).
51169
+
51170
+ Patch 9.1.1877
51171
+ Problem: cindent: wrong indentation after an array declaration
51172
+ Solution: check if the filetype if javascript before matching the syntax
51173
+ (Anttoni Erkkilä).
51174
+
51175
+ Patch 9.1.1878
51176
+ Problem: filetype: Soy files are not recognized
51177
+ Solution: Detect *.soy files as soy filetype, include a soy filetype plugin
51178
+ (Riley Bruins).
51179
+
51180
+ Patch 9.1.1879
51181
+ Problem: Crash when using a lambda funcref with :defer
51182
+ Solution: De-reference the partial correctly after invoking the deferred
51183
+ functions (Yegappan Lakshmanan).
51184
+
51185
+ Patch 9.1.1880
51186
+ Problem: Allocation error with complete_info() (after v9.1.1876)
51187
+ Solution: Make sure length is positive (kuuote).
51188
+
51189
+ Patch 9.1.1881
51190
+ Problem: tests: test_popupwin fails after c8eeda9b due to syntax
51191
+ highlighting change
51192
+ Solution: Regenerate terminal dumps Test_popup_setbuf*dump (Yee Cheng Chin).
51193
+
51194
+ Patch 9.1.1882
51195
+ Problem: Vim9: Not able to use a lambda with :defer (Maxim Kim)
51196
+ Solution: Add support for this (Yegappan Lakshmanan).
51197
+
51198
+ Patch 9.1.1883
51199
+ Problem: Wrong display with 'smoothscroll' when FEAT_DIFF is disabled.
51200
+ Solution: Use plines_correct_topline() (zeertzjq).
51201
+
51202
+ Patch 9.1.1884
51203
+ Problem: :defer an empty lambda causes a crash
51204
+ (Maxim Kim, after v9.1.1882)
51205
+ Solution: Check for missing arguments (Yegappan Lakshmanan).
51206
+
51207
+ Patch 9.1.1885
51208
+ Problem: Wrong restored cursor position when re-entering a buffer
51209
+ previously viewed in a window after making changes to the same
51210
+ buffer in another window.
51211
+ Solution: Adjust per-window "last cursor" positions on buffer changes
51212
+ (zeertzjq).
51213
+
51214
+ Patch 9.1.1886
51215
+ Problem: filetype: Android aconfig files are not recognized
51216
+ Solution: Detect *.aconfig files as pbtxt filetype (Bruno Belanyi).
51217
+
51218
+ Patch 9.1.1887
51219
+ Problem: string handling in strings.c can be improved
51220
+ Solution: Refactor strings.c and remove calls to STRLEN() (John Marriott).
51221
+
51222
+ Patch 9.1.1888
51223
+ Problem: Wrong display with cpo+=$, matchparen and wrapped line.
51224
+ Solution: Use old cursor line height when scrolling with cpo+=$. Also
51225
+ fix wrong redraw in non-current window (zeertzjq).
51226
+
51227
+ Patch 9.1.1889
51228
+ Problem: filetype: not all AppleScript files are recognized
51229
+ Solution: Detect *.applescript files as applescript filetype (Samuel Huang).
51230
+
51231
+ Patch 9.1.1890
51232
+ Problem: %P in 'statusline' doesn't behave as documented
51233
+ (after 9.1.1479).
51234
+ Solution: Make the percentage 3-chars wide when not translated (zeertzjq).
51235
+
51236
+ Patch 9.1.1891
51237
+ Problem: In visual mode, g<End> does not move to the last non-blank
51238
+ character when the end of a line is on the same line as the
51239
+ cursor (after v9.0.1753).
51240
+ Solution: Move the cursor back by one position if it lands after the
51241
+ line (varsidry).
51242
+
51243
+ Patch 9.1.1892
51244
+ Problem: A plugin does not know when startup scripts were already
51245
+ triggered. This is useful to determine if a function is
51246
+ called inside vimrc or after (like when sourcing 'plugin/' files).
51247
+ Solution: Add the v:vim_did_init variable (Evgeni Chasnovski).
51248
+
51249
+ Patch 9.1.1893
51250
+ Problem: ICCF charity will dissolve
51251
+ Solution: Update references to Kuwasha
51252
+
51253
+ Patch 9.1.1894
51254
+ Problem: global_runtime_dir appends /after directory when using XDG
51255
+ configuration directory (Marius Gedminas).
51256
+ Solution: Do not append /after to RUNTIME_GLOBAL_AFTER.
51257
+
51258
+ Patch 9.1.1895
51259
+ Problem: OSC terminal response hard to detect
51260
+ Solution: Add the <OSC> and <xOSC> pseudo keys (Foxe Chen).
51261
+
51262
+ Patch 9.1.1896
51263
+ Problem: tests: Patch v9.1.1895 breaks CI, by failing screen dump tests
51264
+ test_listlbr_utf8, test_diffmode and test_cmdline
51265
+ Solution: Revert it
51266
+
51267
+ Patch 9.1.1897
51268
+ Problem: Mac: Build failure on Mac OS X 10.6 due to the use of generics
51269
+ for the sound feature.
51270
+ Solution: Use the simple, non-generic Objective-C version (Luke Lollard).
51271
+
51272
+ Patch 9.1.1898
51273
+ Problem: tabpanel: inconsistent use of cmdline and message area with
51274
+ tabpanel
51275
+ Solution: Reduce the cmdline and message area by the horizontal size of
51276
+ the tabpanel (Hirohito Higashi).
51277
+
51278
+ Patch 9.1.1899
51279
+ Problem: tabpanel: getcmdscreenpos() wrong when tabpanel is shown
51280
+ Solution: Adjust f_getcmdscreenpos() and add cmdline_col_off
51281
+ (Hirohito Higashi).
51282
+
51283
+ Patch 9.1.1900
51284
+ Problem: tabpanel: wrong condition after v9.1.1898
51285
+ Solution: Update condition (Hirohito Higashi).
51286
+
51287
+ Patch 9.1.1901
51288
+ Problem: tests: test_vim9_generics fails when built without the job or
51289
+ channel feature (lazypingu)
51290
+ Solution: Skip test if job/channel feature is not available.
51291
+
51292
+ Patch 9.1.1902
51293
+ Problem: GTK fails to compile with !FEAT_PROP_POPUP
51294
+ Solution: Correct syntax under #ifdef (Drew Vogel).
51295
+
51296
+ Patch 9.1.1903
51297
+ Problem: GTK naming still reflects GTK1 support
51298
+ Solution: Rename to avoid confusion (Drew Vogel).
51299
+
51300
+ Patch 9.1.1904
51301
+ Problem: Code still supports GTK2 versions older than 2.4.
51302
+ Solution: Drop support for GTK2 < 2.4 (Drew Vogel).
51303
+
51304
+ Patch 9.1.1905
51305
+ Problem: tabpanel: truncates terminal output (hokorobi)
51306
+ Solution: Use topframe->fr_width, not Columns (which includes the
51307
+ tabpanel width) (Hirohito Higashi)
51308
+
51309
+ Patch 9.1.1906
51310
+ Problem: filetype: not all Ruby files are recognized
51311
+ Solution: Detect *.rbi and Brewfile as ruby filetype (botantony).
51312
+
51313
+ Patch 9.1.1907
51314
+ Problem: xterm: no support for mouse buttons 8 and 9
51315
+ Solution: Add support for terminals with xterm-like mouse functionality
51316
+ (notuxic).
51317
+
51318
+ Patch 9.1.1908
51319
+ Problem: tests: test_crash.vim times out in CI ASAN builds
51320
+ Solution: Increase timeout for ASAN or Valgrind runs.
51321
+
51322
+ Patch 9.1.1909
51323
+ Problem: filetype: .mom files recognized as nroff files
51324
+ Solution: Detect *.mom files as groff filetype instead (Callum Andrew).
51325
+
51326
+ Patch 9.1.1910
51327
+ Problem: tests: test failures in Test_term_gettitle() in CI
51328
+ Solution: CI: Allow for title buffering in Test_term_gettitle()
51329
+ (Aliaksei Budavei).
51330
+
51331
+ Patch 9.1.1911
51332
+ Problem: build failure on Solaris Sparc with gcc 5 (idgn23, after v9.1.1736)
51333
+ Solution: Correctly initialize the key_name variable.
51334
+
51335
+ Patch 9.1.1912
51336
+ Problem: tests: test_plugin_comment fails, because it depends on nroff
51337
+ filetype for .mom file (after v9.1.1909)
51338
+ Solution: Explicitly set filetype to nroff.
51339
+
51340
+ Patch 9.1.1913
51341
+ Problem: Error message with :unlet! and non-existing dictionary item
51342
+ (Coacher)
51343
+ Solution: Set GLV_QUIET when using unlet with bang attribute.
51344
+
51345
+ Patch 9.1.1914
51346
+ Problem: runtime(netrw): LocalBrowseCheck() wipes unnamed buffers when
51347
+ g:netrw_fastbrowse=0 (Carlos Falgueras García)
51348
+ Solution: Check that bufname() is not empty.
51349
+
51350
+ Patch 9.1.1915
51351
+ Problem: :breaklist accepts unprocessed arguments.
51352
+ Solution: Remove EX_EXTRA flag from the Ex command definition (Doug Kearns).
51353
+
51354
+ Patch 9.1.1916
51355
+ Problem: WinEnter autocommand may confuse Vim when closing tabpage (hokorobi)
51356
+ Solution: Verify that curwin did not change in close_others().
51357
+
51358
+ Patch 9.1.1917
51359
+ Problem: Vim9: incorrect type inference with mkdir() (dezza)
51360
+ Solution: Before compiling a RHS expression in an assignment, save the
51361
+ new local variable contents (Yegappan Lakshmanan).
51362
+
51363
+ Patch 9.1.1918
51364
+ Problem: completion: crash with fuzzy completion (Christian Brabandt)
51365
+ Solution: When completion candidates are gathered from a different
51366
+ window, and when completing `<c-p>`, linked list should be
51367
+ sorted only after all items are collected (Girish Palya).
51368
+
51369
+ Patch 9.1.1919
51370
+ Problem: tabpanel: cannot handle mouse clicks in command line
51371
+ (char101, after v9.1.1898)
51372
+ Solution: Update the condition that checks if the mouse pointer is on
51373
+ the command line (Hirohito Higashi).
51374
+
51375
+ Patch 9.1.1920
51376
+ Problem: tests: not enough testing for wildtrigger() pum redrawing.
51377
+ Solution: Also test redrawing when leaving cmdline mode (zeertzjq).
51378
+
51379
+ Patch 9.1.1921
51380
+ Problem: xdiff: included xdiff code is outdated because it is based on
51381
+ git 2.40.0
51382
+ Solution: Sync with xdiff from git 2.52 (Yee Cheng Chin).
51383
+
51384
+ Patch 9.1.1922
51385
+ Problem: Wrong virtcol('$') with virtual text at EOL (rickhowe).
51386
+ Solution: Also add 1 to end virtcol when there is virtual text (zeertzjq).
51387
+
51388
+ Patch 9.1.1923
51389
+ Problem: When assigning to @. in a :let command an incorrect "E15"
51390
+ error is emitted.
51391
+ Solution: Emit the correct "E354" error. (Doug Kearns).
51392
+
51393
+ Patch 9.1.1924
51394
+ Problem: 'commentstring' requires the +folding feature but is used in
51395
+ contexts other than folding.
51396
+ Solution: Remove the +folding feature guards from 'commentstring' and
51397
+ make it available in all builds (Doug Kearns).
51398
+
51399
+ Patch 9.1.1925
51400
+ Problem: make depend does not add osdef.h for the dependencies (Drew Vogel)
51401
+ Solution: Move ifdef PROTO (Hirohito Higashi).
51402
+
51403
+ Patch 9.1.1926
51404
+ Problem: xdiff: Coverity warning with MAX_CNT/UINT_MAX usage
51405
+ (after v9.1.1921)
51406
+ Solution: Replace XDL_MIN macro to a manual check (Yee Cheng Chin).
51407
+
51408
+ Patch 9.1.1927
51409
+ Problem: Wayland: clipboard code too complex
51410
+ Solution: Simplify clipboard related code around W23/W24 (Foxe Chen).
51411
+
51412
+ Patch 9.1.1928
51413
+ Problem: xxd: exit_with_usage() can be simplified
51414
+ Solution: Clean up exit_with_usage() formatting slightly (Stefan Haubenthal).
51415
+
51416
+ Patch 9.1.1929
51417
+ Problem: completion: spell completion wrong with fuzzy
51418
+ Solution: Disable fuzzy sort for spell completion (Maxim Kim).
51419
+
51420
+ Patch 9.1.1930
51421
+ Problem: completion: 'completefuzzycollect' option is too obscure
51422
+ Solution: Deprecate the option, but don't error out for existing scripts,
51423
+ behave like 'completefuzzycollect' is set when fuzzy
51424
+ completion is enabled (Girish Palya).
51425
+
51426
+ Patch 9.1.1931
51427
+ Problem: completion: wrong item selected with fuzzy and noinsert
51428
+ (Evgeni Chasnovski)
51429
+ Solution: Reset selected item after fuzzy sort (Girish Palya).
51430
+
51431
+ Patch 9.1.1932
51432
+ Problem: OSC terminal response hard to detect
51433
+ Solution: Add the <OSC> and <xOSC> pseudo keys (Foxe Chen).
51434
+
51435
+ Patch 9.1.1933
51436
+ Problem: completion: complete_match() Vim script function and
51437
+ 'isexpand' option are not that useful and confusing
51438
+ (after v9.1.1341)
51439
+ Solution: Remove function and option and clean up code and documentation
51440
+ (Girish Palya).
51441
+
51442
+ Patch 9.1.1934
51443
+ Problem: filetype: not all starlark files are recognized
51444
+ Solution: Detect *.sky files as starlark filetype (Bruno Belanyi).
51445
+
51446
+ Patch 9.1.1935
51447
+ Problem: filetype: not all Erlang files are recognized
51448
+ Solution: Detect *.app.src and rebar.config files as erlang filetype
51449
+ (John Parise).
51450
+
51451
+ Patch 9.1.1936
51452
+ Problem: filetype: Erlang lexical files are not recognized
51453
+ Solution: Detect *.xrl files as leex filetype, include syntax and
51454
+ filetype plugins (Jon Parise).
51455
+
51456
+ Patch 9.1.1937
51457
+ Problem: tests: Test_matchfuzzy_initialized() fails
51458
+ Solution: Send a dummy key (Corey Hickey)
51459
+
51460
+ Patch 9.1.1938
51461
+ Problem: tests: excessive wait in Test_matchfuzzy_initialized
51462
+ Solution: Use term_wait() instead of the TermWait() wrapper (Corey Hickey).
51463
+
51464
+ Patch 9.1.1939
51465
+ Problem: tests: test_matchfuzzy() leaves swapfiles behind
51466
+ Solution: Close loaded buffers using "%bw".
51467
+
51468
+ Patch 9.1.1940
51469
+ Problem: clipboard registers "+" and "*" synced without "autoselect"
51470
+ Solution: Remove code that explicitly syncs those clipboard registers
51471
+ (Corey Hickey).
51472
+
51473
+ Patch 9.1.1941
51474
+ Problem: tests: Test_execute_register() leaves swapfile behind
51475
+ Solution: Use :bw instead of :close to close the buffer completely.
51476
+
51477
+ Patch 9.1.1942
51478
+ Problem: Assignment to read-only registers @: and @% is allowed during
51479
+ compilation.
51480
+ Solution: Abort compilation and emit an E354 error when assigning to
51481
+ these registers (Doug Kearns).
51482
+
51483
+ Patch 9.1.1943
51484
+ Problem: Memory leak with :breakadd expr
51485
+ Solution: Free debug_oldval and debug_newval before assigning to them.
51486
+ Verify the existing (though confusing) :breakadd expr behavior
51487
+ (zeertzjq).
51488
+
51489
+ Patch 9.1.1944
51490
+ Problem: gewininfo() does not return if statusline is visible
51491
+ Solution: Add status_height to the dict items returned by
51492
+ getwininfo() (Hirohito Higashi).
51493
+
51494
+ Patch 9.1.1945
51495
+ Problem: tests: Test_getbufwintabinfo() leaves swapfiles behind
51496
+ Solution: Close all open buffers using %bw!
51497
+
51498
+ Patch 9.1.1946
51499
+ Problem: Cannot open the help in the current window
51500
+ Solution: Promote the example from tips.txt to a proper package and
51501
+ include the helpcurwin package, add tests for it (Peter Kenny).
51502
+
51503
+ Patch 9.1.1947
51504
+ Problem: [security]: Windows: Vim may execute commands from current
51505
+ directory (Simon Zuckerbraun)
51506
+ Solution: Set the $NoDefaultCurrentDirectoryInExePath before running
51507
+ external commands.
51508
+
51509
+ Patch 9.1.1948
51510
+ Problem: Windows: Vim always adds the current directory to search path.
51511
+ This should only happen when using cmd.exe as 'shell'. For
51512
+ example, powershell won't run binaries from the current
51513
+ directory.
51514
+ Solution: Only add current directory to system path, when using cmd.exe
51515
+ as 'shell'.
51516
+
51517
+ Patch 9.1.1949
51518
+ Problem: :stag does not use 'swichtbuf' option, though the
51519
+ documentation states differently (Christian Brabandt)
51520
+ Solution: Respect 'switchbuf' option (Yegappan Lakshmanan).
51521
+
51522
+ Patch 9.1.1950
51523
+ Problem: tests: Test_tagjump.vim leaves swapfiles behind
51524
+ Solution: Close open buffers using :bw! instead of :close!
51525
+
51526
+ Patch 9.1.1951
51527
+ Problem: tests: Test_windows_external_cmd_in_cwd() is only run in huge
51528
+ builds (after 9.1.1947).
51529
+ Solution: Move it to test_system.vim so that it is run in normal builds.
51530
+
51531
+ Patch 9.1.1952
51532
+ Problem: tests: need better tests for tf files
51533
+ Solution: Add better filetype test for terraform/tf filetype
51534
+
51535
+ Patch 9.1.1953
51536
+ Problem: gui_mch_set_titlebar_colors() doesn't need to be called when
51537
+ 'go+=C' is not set.
51538
+ Solution: Switch the default value to false.
51539
+
51540
+ Patch 9.1.1954
51541
+ Problem: Setting a byte in a blob, accepts values outside 0-255
51542
+ Solution: When setting a byte in a blob, check for valid values
51543
+ (Yegappan Lakshmanan).
51544
+
51545
+ Patch 9.1.1955
51546
+ Problem: sort() does not handle large numbers correctly
51547
+ (Igbanam Ogbuluijah)
51548
+ Solution: Don't truncate the return value of tv_get_number_chk()
51549
+ (Yegappan Lakshmanan).
51550
+
51551
+ Patch 9.1.1956
51552
+ Problem: tests: test_sort.vim leaves swapfiles behind
51553
+ Solution: Close open buffers using :bw! instead of :close!
51554
+
51555
+ Patch 9.1.1957
51556
+ Problem: filetype: bpftrace files are not recognized
51557
+ Solution: Detect *.bt files as btftrace filetype,
51558
+ include a btftrace filetype plugin (Stanislaw Gruszka).
51559
+
51560
+ Patch 9.1.1958
51561
+ Problem: Wrong display when scrolling with 'scrolloff' and calling
51562
+ sign_unplace() and setline() in CursorMoved (after 8.2.3204).
51563
+ Solution: Still scroll for changed lines below the top area when the top
51564
+ is scrolled down (zeertzjq).
51565
+
51566
+ Patch 9.1.1959
51567
+ Problem: Outputting long strings using :echowindow wraps one character
51568
+ per line and display in reverse order (Hirohito Higashi)
51569
+ Solution: Use full width for :echowindow, reset msg_col after wrapping,
51570
+ and increment lnum correctly when creating new lines (glepnir).
51571
+
51572
+ Patch 9.1.1960
51573
+ Problem: When the popup menu is displayed above the cursor and the
51574
+ selected item has no room below for the info popup,
51575
+ popup_adjust_position() places the popup in the available
51576
+ space above. The calculation added some extra lines, causing
51577
+ the popup to be misaligned.
51578
+ Solution: For info popups, undo that extra spacing so the popup stays
51579
+ aligned with the selected item (glepnir).
51580
+
51581
+ Patch 9.1.1961
51582
+ Problem: :0tab behaves like :tab for :stag when 'switchbuf' contains
51583
+ "newtab" (after 9.1.1949).
51584
+ Solution: Don't override cmod_tab if it's already non-zero (zeertzjq).
51585
+
51586
+ Patch 9.1.1962
51587
+ Problem: filetype: Erlang application resource files are not recognized
51588
+ Solution: Add content-based filetype detection for application resource
51589
+ files matching extension '*.app' (Doug Kearns).
51590
+
51591
+ Patch 9.1.1963
51592
+ Problem: diff: missing diff size limit for xdiff
51593
+ Solution: Impose file size limit for internal diff (xdiff)
51594
+ (Yee Cheng Chin).
51595
+
51596
+ Patch 9.1.1964
51597
+ Problem: Wrong display when using setline() at hit-enter prompt
51598
+ (after 8.2.3204).
51599
+ Solution: Only skip scrolling for changed lines in top area if it's
51600
+ scrolled down due to w_topline change. Also add more testing
51601
+ for what 8.2.3204 fixed (zeertzjq).
51602
+
51603
+ Patch 9.1.1965
51604
+ Problem: When exiting at the end of the more prompt (at the hit enter
51605
+ prompt) by hitting q the recording mode will be started.
51606
+ (Jakub Łuczyński)
51607
+ Solution: Don't add the q key to the typeahead buffer
51608
+ in the function wait_return (Bjoern Foersterling)
51609
+
51610
+ Patch 9.1.1966
51611
+ Problem: MS-Windows: dark mode in gui is not supported
51612
+ Solution: Inplement the 'd' flag in 'guioptions' (Mao-Yining).
51613
+
51614
+ Patch 9.1.1967
51615
+ Problem: if_python: 64bit numbers truncated
51616
+ Solution: cast python result to long long (lsq).
51617
+
51618
+ Patch 9.1.1968
51619
+ Problem: tests: test_python3.vim leaves swapfiles behind
51620
+ Solution: Close open buffers using :bw! instead of :close!
51621
+
51622
+ Patch 9.1.1969
51623
+ Problem: Wrong cursor position after formatting with long 'formatprg'.
51624
+ Solution: Don't show hit-enter prompt when there are stuffed characters.
51625
+
51626
+ Patch 9.1.1970
51627
+ Problem: visual end column returns wrong value after block edit
51628
+ Solution: update visual end column after block insert (phanium).
51629
+
51630
+ Patch 9.1.1971
51631
+ Problem: Crash when buffer gets deleted inside charconvert during save
51632
+ Solution: Check for `b_saving` inside `can_unload_buffer()`, so we don’t try to
51633
+ unload a buffer while it’s still being saved (glepnir).
51634
+
51635
+ Patch 9.1.1971
51636
+ Problem: crash with invalid positional argument 0 in printf()
51637
+ Solution: Reject positional arguments <= 0.
51638
+
51639
+ Patch 9.1.1972
51640
+ Problem: No way to access the clipboard without X11/Wayland.
51641
+ Solution: Add the clipboard provider feature (Foxe Chen).
51642
+
51643
+ Patch 9.1.1973
51644
+ Problem: some minor problems with clipboard provider code
51645
+ (after v9.1.1972)
51646
+ Solution: Fix minor issues (Foxe Chen)
51647
+
51648
+ Patch 9.1.1974
51649
+ Problem: tests: missing cleanup in Test_bwipe_during_save().
51650
+ Solution: Reset &charconvert.
51651
+
51652
+ Patch 9.1.1975
51653
+ Problem: blob2str() may call strcpy with a NULL pointer
51654
+ Solution: Check for NULL before calling STRNCPY().
51655
+
51656
+ Patch 9.1.1976
51657
+ Problem: When using listeners, there is no way to run callbacks at
51658
+ specific points in the redraw cycle.
51659
+ Solution: Add redraw_listener_add() and redraw_listener_remove() and
51660
+ allow specifying callbacks for redraw start and end (Foxe Chen).
51661
+
51662
+ Patch 9.1.1977
51663
+ Problem: MS-Windows: missing dependency on optiondefs.h in Mingw and
51664
+ Cygwin Makefile (Mao-Yining)
51665
+ Solution: Update $INCL variable.
51666
+
51667
+ Patch 9.1.1978
51668
+ Problem: tests: Test_smoothscroll_number() may fail because of 'showcmd'
51669
+ Solution: Send redraw command (Hirohito Higashi).
51670
+
51671
+ Patch 9.1.1979
51672
+ Problem: :helpclose incorrectly accepts a range and a count.
51673
+ Solution: Remove EX_COUNT and EX_RANGE from the command definition
51674
+ (Doug Kearns).
51675
+
51676
+ Patch 9.1.1980
51677
+ Problem: filetype: N-Quads files are not recognized
51678
+ Solution: Detect *.nq files as nq filetype.
51679
+
51680
+ Patch 9.1.1981
51681
+ Problem: tests: test suite may stop on error in gen_opt_test.vim
51682
+ Solution: Use a different output file for log files (Muraoka Taro).
51683
+
51684
+ Patch 9.1.1982
51685
+ Problem: Use after free with redraw_listener_add() (after: v9.1.1976)
51686
+ Solution: Copy Callbacks into listener struct (Foxe Chen).
51687
+
51688
+ Patch 9.1.1983
51689
+ Problem: Vim9: class_name definition can be improved
51690
+ Solution: Use string_T to store class_name, avoid using STRLEN() calls,
51691
+ simplify code, remove unused definition of struct
51692
+ oc_newmember_S (John Marriott).
51693
+
51694
+ Patch 9.1.1984
51695
+ Problem: terminal OSC52 support to access the clipboard can be improved
51696
+ Solution: Include and package the optional osc52 package, note: this
51697
+ requires a Vim with clipboard provider feature (Foxe Chen).
51698
+
51699
+ Patch 9.1.1985
51700
+ Problem: tests: test_sound.vim fails when run locally on Windows
51701
+ Solution: Skip Test_play_silent in Windows non-GUI environments.
51702
+
51703
+ Patch 9.1.1986
51704
+ Problem: clipboard provider does not work when redirecting messages
51705
+ (BenYip, after v9.1.1972)
51706
+ Solution: Adjust ifdefs in ex_redir().
51707
+
51708
+ Patch 9.1.1987
51709
+ Problem: assert_equal() prepends unnecessary ':' when typed (after 9.0.1758).
51710
+ Solution: Don't change a NULL stacktrace to an empty string (zeertzjq).
51711
+
51712
+ Patch 9.1.1988
51713
+ Problem: osc52 package can be further improved (after v9.1.1984).
51714
+ Solution: Improve plugin, update test and check for clipboard_provider
51715
+ feature (Foxe Chen).
51716
+
51717
+ Patch 9.1.1989
51718
+ Problem: Vim intro screen shows register message (after v9.1.1893)
51719
+ Solution: Remove the register message, registering is no longer useful
51720
+ and possible.
51721
+
51722
+ Patch 9.1.1990
51723
+ Problem: tests: Test_term_gettty() fails when using conpty on Windows,
51724
+ CI uses winpty, so this test passes.
51725
+ Solution: Skip the test Test_term_gettty(). Since conpty communicates
51726
+ via anonymous pipes, there is no name that can be obtained
51727
+ with term_gettty() (Muraoka Taro)
51728
+
51729
+ Patch 9.1.1991
51730
+ Problem: :setlocal changes effective global 'omnifunc' (Maxim Kim)
51731
+ Solution: Don't change global callback when using :setlocal (zeertzjq).
51732
+
51733
+ Patch 9.1.1992
51734
+ Problem: Vim9: heap buffer overflow with COMPAREANY instruction
51735
+ Solution: Verify the type and error out in case of different types (Foxe Chen)
51736
+
51737
+ Patch 9.1.1993
51738
+ Problem: MS-Windows: compile error because of implicit size conversions
51739
+ (after v9.1.1983)
51740
+ Solution: Change type casts
51741
+
51742
+ Patch 9.1.1994
51743
+ Problem: More deterministic synchronisation can be established between
51744
+ processes running test cases and collecting visual effects to
51745
+ a screendump file for future verification by anticipating
51746
+ the availability of known parts of such a file and asserting
51747
+ the location of the cursor.
51748
+ Solution: Provide a convenience test function that waits a specified
51749
+ time for cursor positioning (Aliaksei Budavei).
51750
+
51751
+ Patch 9.1.1995
51752
+ Problem: Data races between test buffers are currently addressed by
51753
+ relying on arbitrary execution delays or blissfully dismissed.
51754
+ Solution: Prefer more deterministic synchronisation between test buffers
51755
+ for test cases that generate screendump files with expected
51756
+ results (Aliaksei Budavei).
51757
+
51758
+ Patch 9.1.1996
51759
+ Problem: tests: test_cmdline.vim leaves swapfiles behind
51760
+ Solution: Close open buffers using :bw! instead of :close!
51761
+
51762
+ Patch 9.1.1997
51763
+ Problem: Missing out-of-memory check in vim9class.c in calls to
51764
+ vim_strnsave().
51765
+ Solution: Refactor is_duplicate_variable() and is_duplicate_enum() and
51766
+ make use of string_T struct instead (John Marriott).
51767
+
51768
+ Patch 9.1.1998
51769
+ Problem: Not enough tests for :setlocal omnifunc (after 9.1.1991).
51770
+ Solution: Move the last :new after :setlocal. Also test with 'complete'
51771
+ (zeertzjq).
51772
+
51773
+ Patch 9.1.1999
51774
+ Problem: clipboard provider does not respect 'clipboard' option
51775
+ (Satoru Kitaguchi, after v9.1.1972)
51776
+ Solution: Make clipboard provider register respect "unnamed/unnamedplus"
51777
+ from the 'clipboard' option value.
51778
+
51779
+ Patch 9.1.2000
51780
+ Problem: Vim9: class and object member names are stored as char_u *
51781
+ pointer requiring repeated strlen() calls and making it harder
51782
+ to use length-aware string operations consistently.
51783
+ Solution: Store ocm_name as a string_T instead of char_u * (John Marriott).
51784
+
51785
+ Patch 9.1.2001
51786
+ Problem: After :botright copen and closing the quikfix window, the
51787
+ cursor ends up in the wrong window. The problem is fr_child
51788
+ always points to the first (leftmost for FR_ROW, topmost for
51789
+ FR_COL) child frame. When do :vsplit, the new window is
51790
+ created on the left, and frame_insert() updates the parent's
51791
+ fr_child to point to this new left window.
51792
+ Solution: Create a snapshot before open the quickfix window and restore
51793
+ it when close it (glepnir).
51794
+
51795
+ Patch 9.1.2002
51796
+ Problem: Vim9: heap-use-after-free when when accessing protect class
51797
+ member (Foxe Chen)
51798
+ Solution: Set cl->class_type_list and return directly, add tests for
51799
+ using protected class method and variable from another class
51800
+ (Yegappan Lakshmanan).
51801
+
51802
+ Patch 9.1.2003
51803
+ Problem: tests: Test_glob_symlinks may fail on Windows with UCRT
51804
+ runtime
51805
+ Solution: Comment out the code, do not use _wstat().
51806
+
51807
+ Patch 9.1.2004
51808
+ Problem: MS-Windows: If a directory with a single character name is
51809
+ included in the PATH environment variable without a trailing
51810
+ path separator, executable() will not be able to find the
51811
+ executable file under it.
51812
+ Solution: The second argument of the after_pathsep() function is now
51813
+ passed the next pointer where a path separator may exist
51814
+ (Muraoka Taro).
51815
+
51816
+ Patch 9.1.2005
51817
+ Problem: MS-Windows: Missing fullscreen support for GUI version
51818
+ Solution: Add "s" flag to guioptions (Mao-Yining)
51819
+
51820
+ Patch 9.1.2006
51821
+ Problem: ANSI escape colors are not displayed correctly in
51822
+ non-termguicolors in vim (cli) on Windows. The red and blue
51823
+ channels seem to be swapped.
51824
+ Cause: When converting VTerm ANSI index colors to cterm colors in
51825
+ terminal.c, the Windows case equivalent to NR-16 (:help
51826
+ cterm-colors) is ignored.
51827
+ Solution: Created and used a table to convert ANSI indexed colors to
51828
+ cterm's NR-16 representation (Windows only). This table
51829
+ corresponds to the inverse conversion of cterm_ansi_idx in
51830
+ term.c. The values in both tables are exactly the same, but
51831
+ the meanings are opposite, so they are separate tables
51832
+ (Muraoka Taro).
51833
+
51834
+ Patch 9.1.2007
51835
+ Problem: bpftrace files are not recognized from the hashbang line.
51836
+ Solution: Add a hashbang check (Stanislaw Gruszka).
51837
+
51838
+ Patch 9.1.2008
51839
+ Problem: filetype: hylo files are not recognized
51840
+ Solution: Detect *.hylo files as hylo filetype (Ambrus Tóth).
51841
+
51842
+ Patch 9.1.2009
51843
+ Problem: tests: "Xm4" test directory may not be deleted
51844
+ Solution: Use "R" flag with mkdir() call to have the directory
51845
+ recursively deleted at the end of function Test_m4_format()
51846
+ (Muraoka Taro).
51847
+
51848
+ Patch 9.1.2010
51849
+ Problem: Missing out-of-memory checks in vim9class.c (after v9.1.2000).
51850
+ Solution: Return FAIL early (John Marriott).
51851
+
51852
+ Patch 9.1.2011
51853
+ Problem: crash when unreferencing gtk icon theme
51854
+ (noamhalevy-wq, after v9.1.1583)
51855
+ Solution: Remove the g_object_unref() call.
51856
+
51857
+ Patch 9.1.2012
51858
+ Problem: Vim9: cannot initialize class member with protected var
51859
+ Solution: Allow this to work if this happens within the same class
51860
+ (Foxe Chen).
51861
+
51862
+ Patch 9.1.2013
51863
+ Problem: tests: When opening a conpty terminal, if process startup
51864
+ fails, it will silently exit. As a result, the
51865
+ Test_terminal_shell_option in test_terminal3.vim failed in
51866
+ conpty.
51867
+ Solution: Make conpty fail with an error messages in the same way as winpty
51868
+ (Muraoka Taro).
51869
+
51870
+ Patch 9.1.2014
51871
+ Problem: clipboard: clipboard register corrupted with clipboard
51872
+ provider (Satoru Kitaguchi and mikoto2000 after v9.1.1972)
51873
+ Solution: Only adjust clipboard register points to the unnamed register
51874
+ (Foxe Chen).
51875
+
51876
+ Patch 9.1.2015
51877
+ Problem: blob2string() stopped after an empty line
51878
+ Solution: Specifically check for empty content (Foxe Chen).
51879
+
51880
+ Patch 9.1.2016
51881
+ Problem: At "if(0) do if(0); while(0); else", else should be aligned
51882
+ with outer if, but is aligned with inner if.
51883
+ Solution: In function find_match, ignore "if" and "else" inside a
51884
+ do-while loop, when looking for "if". (Anttoni Erkkilä).
51885
+
51886
+ Patch 9.1.2017
51887
+ Problem: getregionpos() depends on 'linebreak' setting
51888
+ Solution: Reset linebreak setting temporarily (McAuley Penney).
51889
+
51890
+ Patch 9.1.2018
51891
+ Problem: proto: ops.pro outdated (after v9.1.2017)
51892
+ Solution: Regenerate the ops.pro proto file (Tao).
51893
+
51894
+ Patch 9.1.2019
51895
+ Problem: When virtualedit is set to all, the cursor is supposed to be
51896
+ permitted to reside anywhere, including on the virtual space
51897
+ beyond the end of the buffer's text. Switching modes triggered
51898
+ a routine that "fixed" a cursor that was past the end of the
51899
+ line by shifting it back to the last actual character in the
51900
+ line and compensating with a virtual column offset. While
51901
+ visually identical, this re-encoding changed the underlying
51902
+ byte index, causing position-reporting functions to return
51903
+ inconsistent values after a mode change.
51904
+ Solution: Skip this coordinate adjustment when virtual editing is fully
51905
+ enabled. By treating the line terminator as a valid, stable
51906
+ position, the cursor’s internal representation remains
51907
+ unchanged when entering or exiting Visual mode, ensuring
51908
+ consistent coordinate reporting. Add a regression test to
51909
+ check this functionality (McAuley Penney).
51910
+
51911
+ Patch 9.1.2020
51912
+ Problem: tests: test_virtualedit.vim leaves swapfiles behind
51913
+ Solution: Close open buffers using :bw! instead of :close!
51914
+
51915
+ Patch 9.1.2021
51916
+ Problem: filetype: fluent files are not recognized
51917
+ Solution: Detect *.ftl files as fluent filetype (ners).
51918
+
51919
+ Patch 9.1.2022
51920
+ Problem: Compilation issues on Windows when VIM
51921
+ is compiled with OLE enabled, as "if_ole.cpp" cannot compile
51922
+ due to the keyword conflict (after v9.1.2012).
51923
+ Solution: Rename the member variable of `exarg` from `class` to `ea_class`.
51924
+ (Wei Tang)
51925
+
51926
+ Patch 9.1.2023
51927
+ Problem: A BufAdd autocommand may cause alist_add() to use freed
51928
+ memory, this is caused by the w_locked variable unset too
51929
+ early (henices)
51930
+ Solution: In trigger_undo_ftplugin() only set w_locked to false, if it
51931
+ was false when calling the function.
51932
+
51933
+ Patch 9.1.2024
51934
+ Problem: 'fsync' option cannot be set per buffer
51935
+ Solution: Make 'fsync' option global-local (glepnir).
51936
+
51937
+ Patch 9.1.2025
51938
+ Problem: Conpty terminal process may not start.
51939
+ Solution: Do not close the input handle at EOF when conpty is in use
51940
+ (Muraoka Taro).
51941
+
51942
+ Patch 9.1.2026
51943
+ Problem: tests: Patch 9.1.2019 not tested properly.
51944
+ Solution: Add missing :exe (zeertzjq).
51945
+
51946
+ Patch 9.1.2027
51947
+ Problem: filetype: bicep filetype used for 2 bicep file types
51948
+ Solution: Detect *.bicepparam files as bicep-param filetype, include
51949
+ new bicep-params and bicep filetype plugin (Scott McKendry).
51950
+
51951
+ Patch 9.1.2028
51952
+ Problem: Buffer overflow in buf_write() when converting incomplete
51953
+ multi-byte characters (Kevin Goodsell)
51954
+ Solution: Make the buffer slightly larger.
51955
+
51956
+ Patch 9.1.2029
51957
+ Problem: tests: the test_vim9_class.vim testfile is too long
51958
+ Solution: Split out the interface related test cases into a new
51959
+ test file test_vim9_interface.vim (Yegappan Lakshmanan).
51960
+
51961
+ Patch 9.1.2030
51962
+ Problem: inefficient use of ga_concat()
51963
+ Solution: Use ga_concat_len() when length is known (John Marriott).
51964
+
51965
+ Patch 9.1.2031
51966
+ Problem: Makefile: cannot run make installinks twice
51967
+ Solution: Change "ln -s" to "ln -sf" to force creation of the symlinks
51968
+ (Thomas Petazzoni).
51969
+
51970
+ Patch 9.1.2032
51971
+ Problem: Vim9: error when using class member in Lambda
51972
+ Solution: Compare against uf_defclass variable (Foxe Chen).
51973
+
51974
+ Patch 9.1.2033
51975
+ Problem: tests: Test_terminal_cwd in test_terminal.vim fails flaky
51976
+ in the Windows ConPTY terminal.
51977
+ Solution: In ConPTY, the timeout is extended to 1msec when reading a
51978
+ channel associated with a job that is about to finish. This
51979
+ allows Vim to read the last output of a process in a pseudo
51980
+ console. Add comments to make the reasoning clear (Muraoka Taro).
51981
+
51982
+ Patch 9.1.2034
51983
+ Problem: filetype: Fennel fnml files are not recognized (Alexei Mozaidze)
51984
+ Solution: Detect *.fnml files as fennel filetype.
51985
+
51986
+ Patch 9.1.2035
51987
+ Problem: filetype: Fennel fnlm files are not recognized
51988
+ (Alexei Mozaidze, after v9.1.2034)
51989
+ Solution: Detect *.fnlm files as fennel filetype, revert detecting
51990
+ *.fnml files
51991
+
51992
+ Patch 9.1.2036
51993
+ Problem: if_ruby: build error with ruby 4.0 (Mamoru Tasaka)
51994
+ Solution: Always define rb_check_typeddata (EnumDev).
51995
+
51996
+ Patch 9.1.2037
51997
+ Problem: undo: cursor position not correctly restored
51998
+ Solution: Do not override the saved cursor position (altermo).
51999
+
52000
+ Patch 9.1.2038
52001
+ Problem: tests: test_marks.vim leaves swapfiles behind
52002
+ Solution: Close open buffers using :bw! instead of :close!
52003
+
52004
+ Patch 9.1.2039
52005
+ Problem: if_ruby: crash when using Ruby/dyn 4.0 (after v9.1.2036)
52006
+ Solution: Fix Ruby 4.0 dynamic builds correctly by inlining
52007
+ rb_check_typeddata (Yee Cheng Chin)
52008
+
52009
+ Patch 9.1.2040
52010
+ Problem: :tlnumenu incorrectly accepts a range.
52011
+ Solution: Remove EX_RANGE and EX_ZEROR from the command definition and
52012
+ use ADDR_NONE (Doug Kearns).
52013
+
52014
+ Patch 9.1.2041
52015
+ Problem: tests: test_menu.vim leaves swapfiles behind
52016
+ Solution: Close open buffers using :bw! instead of :close!
52017
+
52018
+ Patch 9.1.2042
52019
+ Problem: filetype: systemd quadlet files are not recognized
52020
+ Solution: Detect additional patterns as systemd filetype (Ac5000).
52021
+
52022
+ Patch 9.1.2043
52023
+ Problem: filetype: kos files are not reconized
52024
+ Solution: Detect *.kos files as kos filetype (Chris Dragan).
52025
+
52026
+ Patch 9.1.2044
52027
+ Problem: Inefficient use of ga_concat()
52028
+ Solution: Use ga_concat_len() when the length is already known to avoid
52029
+ use of strlen() (John Marriott).
52030
+
52031
+ Patch 9.1.2045
52032
+ Problem: Mac: Build failure with Mac OS X 10.6
52033
+ (Sergey Fedorov, after: v9.1.1748)
52034
+ Solution: Add ifdefs MAC_OS_X_VERSION_10_7 around the code that sets the
52035
+ scheduler priority.
52036
+
52037
+ Patch 9.1.2046
52038
+ Problem: MS-Windows: compile warnings in os_win32.c,
52039
+ acp_to_enc() requires char_u* but others require char*
52040
+ (John Marriott, after v9.1.2013)
52041
+ Solution: Cast the variables (Mao-Yining).
52042
+
52043
+ Patch 9.1.2047
52044
+ Problem: MS-Windows: style issue in gui_w32.c
52045
+ Solution: Fix indentation, drop unnecessary braces (Mao-Yining).
52046
+
52047
+ Patch 9.1.2048
52048
+ Problem: Pressing backspace in ConPTY on Windows deletes an entire
52049
+ word, not just a single character. This is the same as
52050
+ pressing Alt + backspace in cmd.exe.
52051
+ Solution: When using ConPTY on Windows, the `VTERM_KEY_BACKSPACE` key is
52052
+ now sent when the Backspace key or Ctrl+H is detected (Muraoka Taro)
52053
+
52054
+ Patch 9.1.2049
52055
+ Problem: Vim9: unexpected E1209 error
52056
+ Solution: Fix error message (Hirohito Higashi).
52057
+
52058
+ Patch 9.1.2050
52059
+ Problem: tests: Test_cd_completion() may fail depending on the contents
52060
+ of the root directory of the current drive on Windows.
52061
+ readdir() may return a directory that cannot "cd" to, causing
52062
+ this test to fail. An example of such a directory is
52063
+ "System Volume Information" which only admin can "cd" to.
52064
+ Solution: When determining the directory to use for testing, use the
52065
+ directory that we actually "cd" to successfully.
52066
+ In addition, directories with '$' in their names are also
52067
+ excluded, as they are considered environment variables during
52068
+ completion and do not work as expected (Muraoka Taro).
52069
+
52070
+ Patch 9.1.2051
52071
+ Problem: Test_cd_completion test fails in Appveyor. In Appveyor, a path
52072
+ containing spaces was selected as the test target. But the
52073
+ comparison failed because spaces were not taken into account
52074
+ (after v9.1.2050)
52075
+ Solution: Escape spaces in paths for comparison (Muraoka Taro).
52076
+
52077
+ Patch 9.1.2052
52078
+ Problem: Compile error when disabling linebreak feature
52079
+ Solution: Adjust ifdefs (Matthias Rader).
52080
+
52081
+ Patch 9.1.2053
52082
+ Problem: If another find.exe derived from findutils is installed on
52083
+ Windows, unintended behavior will occur. If MSYS2 is installed and
52084
+ prioritized over the system path, then find.exe derived from
52085
+ findutils will be launched during build, resulting in an
52086
+ unintended warning message.
52087
+ Solution: Specify the absolute path including SYSTEMROOT to launch
52088
+ find.exe (Muraoka Taro).
52089
+
52090
+ Patch 9.1.2054
52091
+ Problem: Can't unpack tuple from imported function (Mao-Yining)
52092
+ Solution: Support multi-variable assignment from a tuple returned by an
52093
+ imported function (Yegappan Lakshmanan).
52094
+
52095
+ Patch 9.1.2055
52096
+ Problem: Division by zero in :file after failing to wipe buffer
52097
+ (after 8.2.4631).
52098
+ Solution: Still call buf_clear_file() when failing to wipe buffer (zeertzjq).
52099
+
52100
+ Patch 9.1.2056
52101
+ Problem: tests: inconsistent indent and line breaking in Test_maparg().
52102
+ Solution: Consistently use spaces-only indent. Reorder fields to group
52103
+ similar ones together and break lines at consistent positions.
52104
+ Remove a mapping when it is no longer used (zeertzjq).
52105
+
52106
+ Patch 9.1.2057
52107
+ Problem: Copying to clipboard register broken with 'go-P' (Coacher)
52108
+ Solution: Verify that clip_plus is available (Foxe Chen).
52109
+
52110
+ Patch 9.1.2058
52111
+ Problem: b_locked_split is not checked for :sbuffer, which allows
52112
+ autocommands to leave windows open to freed buffers.
52113
+ Solution: In do_buffer_ext, check just before possibly splitting, after
52114
+ handling 'switchbuf'. Leave win_split to handle the check for
52115
+ curbuf (Sean Dewar).
52116
+
52117
+ Patch 9.1.2059
52118
+ Problem: filetype: Nickel files are not recognized
52119
+ Solution: Detect *.ncl files as nickel filetype (Hoang Nguyen)
52120
+
52121
+ Patch 9.1.2060
52122
+ Problem: filetype: Rasi include files are not recognized
52123
+ Solution: Detect *.rasinc as rasi filetype (Hoang Nguyen).
52124
+
52125
+ Patch 9.1.2061
52126
+ Problem: filetype: Koka files are not recognized
52127
+ Solution: Detect *.kk files as koka filetype (Hoang Nguyen).
52128
+
52129
+ Patch 9.1.2062
52130
+ Problem: filetype: djot files are not recognized
52131
+ Solution: Detect *.dj and *.djot files as djot filetype (Hoang Nguyen).
52132
+
52133
+ Patch 9.1.2063
52134
+ Problem: A few typos in the code and runtime files
52135
+ Solution: Fix those (zeertzjq).
52136
+
52137
+ Patch 9.1.2064
52138
+ Problem: completion: segfault during file name completion
52139
+ Solution: Initialize compl_num_bests (Girish Palya).
52140
+
52141
+ Patch 9.1.2065
52142
+ Problem: When building GvimExt with MinGW, some DLLs are still linked
52143
+ even if STATIC_STDCPLUS=yes is set.
52144
+ Solution: Following the Vim core, make some libraries explicitly
52145
+ statically linked. The order of libraries is important, and
52146
+ gcc_eh must be placed before winpthread (Muraoka Taro).
52147
+
52148
+ Patch 9.1.2066
52149
+ Problem: :wqall! doesn't close a terminal buffer like :qall! does
52150
+ (after 8.0.1525).
52151
+ Solution: Check eap->forceit (zeertzjq).
52152
+
52153
+ Patch 9.1.2067
52154
+ Problem: shadow variable warning in menu.c
52155
+ Solution: Rename the variable (John Marriott).
52156
+
52157
+ Patch 9.1.2068
52158
+ Problem: :bdelete/bunload/bwipeout may attempt to switch to a closing
52159
+ buffer, which fails. (after 9.1.2058)
52160
+ Solution: Don't consider switching to closing buffers (Sean Dewar).
52161
+
52162
+ Patch 9.1.2069
52163
+ Problem: when shortmess doesn't have 'S', backward search wrap doesn't
52164
+ show the "W" before count. forward search works fine but
52165
+ backward fails because the position check logic is backwards -
52166
+ it checks if cursor < pos instead of using the existing
52167
+ wrapped flag.
52168
+ Solution: Use sia->sa_wrapped flag that searchit() already sets
52169
+ correctly (glepnir).
52170
+
52171
+ Patch 9.1.2070
52172
+ Problem: Autocomplete breaks ":help" when 'dict' points to a large file
52173
+ (lxhillwind)
52174
+ Solution: Reset autocompletion timer expiry flag (Girish Palya).
52175
+
52176
+ Patch 9.1.2071
52177
+ Problem: tests: test_ins_complete.vim leaves swapfiles behind
52178
+ Solution: Close open buffers using :bw! instead of :close!
52179
+
52180
+ Patch 9.1.2072
52181
+ Problem: Socket server has some small issues
52182
+ Solution: Fix issues (Foxe Chen).
52183
+
52184
+ Patch 9.1.2073
52185
+ Problem: auto/configure needs to be regenerated (after v9.1.2072)
52186
+ Solution: Run make autoconf and update the configure script.
52187
+
52188
+ Patch 9.1.2074
52189
+ Problem: Compile error with Motif GUI (Tony Mechelynck, after v9.1.2072)
52190
+ Solution: Add ifdef FEAT_GUI_GTK
52191
+
52192
+ Patch 9.1.2075
52193
+ Problem: tests: wrong change to test_ins_complete.vim
52194
+ (zeertzjq, after v9.1.2071)
52195
+ Solution: Revert unintentional changes.
52196
+
52197
+ Patch 9.1.2076
52198
+ Problem: tests: When running the MinGW test, an error occurs after
52199
+ generating opt_test.vim.
52200
+ Solution: Rewrite the error detection in cmd.exe syntax (Muraoka Taro).
52201
+
52202
+ Patch 9.1.2077
52203
+ Problem: Vim9: type issue when appending item to a list (Peter Kenny)
52204
+ Solution: When adding a new item at the end of a list in vim9script, use
52205
+ the proper item type (Yegappan Lakshmanan).
52206
+
52207
+ Patch 9.1.2078
52208
+ Problem: A few more typos in various files
52209
+ Solution: Fix those (zeertzjq, antonkesy).
52210
+
52211
+ Patch 9.1.2079
52212
+ Problem: use-after-free with 'quickfixtextfunc' wiping buffer (henices)
52213
+ Solution: Evaluate 'quickfixtextfunc' with textlock enabled.
52214
+
52215
+ Patch 9.1.2080
52216
+ Problem: W23/W24 messsage appears on :reg (Coacher)
52217
+ Solution: Silence message when using :reg command (Foxe Chen).
52218
+
52219
+ Patch 9.1.2081
52220
+ Problem: MS-Windows: "#ifdef FEAT_GUI" exists within "ifdef
52221
+ FEAT_GUI_MSWIN", which is confusing when reading the code.
52222
+ FEAT_GUI is always defined if FEAT_GUI_MSWIN is defined (see
52223
+ vim.h). Therefore, this check and the else block are unnecessary.
52224
+ Solution: Removed unnecessary "#ifdef FEAT_GUI" (Muraoka Taro).
52225
+
52226
+ Patch 9.1.2082
52227
+ Problem: modeless auto-select not working (Coacher)
52228
+ Solution: Add support for modeless autoselect (Foxe Chen).
52229
+
52230
+ Patch 9.1.2083
52231
+ Problem: style: wrong indentation of nested ifdefs
52232
+ Solution: Fix indentation (Hirohito Higashi).
52233
+
52234
+ Patch 9.1.2084
52235
+ Problem: Compile error when build with job feature (after v9.1.2077)
52236
+ Solution: Add ifdefs (John Marriott).
52237
+
52238
+ Patch 9.1.2085
52239
+ Problem: Use-after-free in winframe_remove() (henices)
52240
+ Solution: Set window_layout_locked() inside winframe_remove()
52241
+ and check that writing diff files is disallowed when the
52242
+ window layout is locked.
52243
+
52244
+ Patch 9.1.2086
52245
+ Problem: memory leak when not evaluating (just parsing) invalid literal
52246
+ dict.
52247
+ Solution: Always clear the key's typval (Sean Dewar)
52248
+
52249
+ Patch 9.1.2087
52250
+ Problem: Crash when using :tabonly in BufUnload.
52251
+ Solution: Set curbuf when setting curwin->w_buffer. Don't wipe out a
52252
+ buffer if there are no other buffers. Don't decrement
52253
+ b_nwindows if it was 0 before buf_freeall() (zeertzjq).
52254
+
52255
+ Patch 9.1.2088
52256
+ Problem: Redundant NULL checks in find_pattern_in_path().
52257
+ Solution: Remove the NULL checks. Also fix typos in test_diffmode.vim
52258
+ (zeertzjq).
52259
+
52260
+ Patch 9.1.2089
52261
+ Problem: Wayland: Clipboard not working with external programs on
52262
+ Wayland (devsnek)
52263
+ Solution: Simplify the Wayland offer logic and drop offering the special
52264
+ mime type (Foxe Chen).
52265
+
52266
+ Patch 9.1.2090
52267
+ Problem: Last buffer not freed with EXITFREE (after 9.1.2087).
52268
+ Solution: Free the last buffer when inside free_all_mem() (zeertzjq).
52269
+
52270
+ Patch 9.1.2091
52271
+ Problem: Ruby headers define HAVE_FSYNC, which leaks into Vim sources
52272
+ on Windows and changes conditional compilation of buf_T. This
52273
+ causes struct layout mismatches in if_ruby.c and results in a
52274
+ different offset for the b_p_bl property, making Vim::Buffer
52275
+ access fail (after v9.1.2024)
52276
+ Solution: Undefine HAVE_FSYNC after including the Ruby headers.
52277
+
52278
+ Patch 9.1.2092
52279
+ Problem: Cannot detect kitty foreground/background color
52280
+ Solution: Update builtin termcap entries (Mateo Gjika).
52281
+
52282
+ Patch 9.1.2093
52283
+ Problem: heap-use-after-free when wiping buffer in TabClosedPre.
52284
+ Solution: Check window_layout_locked() when closing window(s) in another
52285
+ tabpage (zeertzjq).
52286
+
52287
+ Patch 9.1.2094
52288
+ Problem: filetype: tiger files are not recognized
52289
+ Solution: Detect *.tig files as tiger filetype (Christian Clason).
52290
+
52291
+ Patch 9.1.2095
52292
+ Problem: :wqall! doesn't quit when using :quit in BufWritePost
52293
+ (after 8.0.1190).
52294
+ Solution: Restore old value of "exiting" when calling not_exiting()
52295
+ instead of always resetting it to FALSE (zeertzjq).
52296
+
52297
+ Patch 9.1.2096
52298
+ Problem: Vim9: truthiness issue with objects (kennypete)
52299
+ Solution: Return true for an non-null object (Yegappan Lakshmanan).
52300
+
52301
+ Patch 9.1.2097
52302
+ Problem: TabClosedPre may be triggered twice for the same tab page when
52303
+ closing another tab page in BufWinLeave (after 9.1.1211).
52304
+ Solution: Store whether TabClosedPre was triggered in tabpage_T (zeertzjq).
52305
+
52306
+ Patch 9.1.2098
52307
+ Problem: Crash with 'wildmenu' when typing Ctrl-Y after Ctrl-A
52308
+ (after 9.1.1714) (fizz-is-on-the-way).
52309
+ Solution: Check if there are matches before applying one (zeertzjq).
52310
+
52311
+ Patch 9.1.2099
52312
+ Problem: Depending on the worker's environment, the line endings in
52313
+ ja.sjis.po may differ from those in the source ja.po.
52314
+ Solution: By setting standard input and output to binary mode, the line
52315
+ endings for input and output will match (Muraoka Taro)
52316
+
52317
+ Patch 9.1.2100
52318
+ Problem: filetype: tiltfiles are not recognized
52319
+ Solution: Detect Tiltfiles.* and *.tiltfiles as tiltfile filetype (Luis Davim)
52320
+
52321
+ Patch 9.1.2101
52322
+ Problem: Vim9: more truthiness issues (kennypete)
52323
+ Solution: Class, enum and typealias cannot be used with the falsy
52324
+ operator (Yegappan Lakshmanan).
52325
+
52326
+ Patch 9.1.2102
52327
+ Problem: foldtext not reversed and cut off in 'rightleft' mode (bfredl)
52328
+ Solution: Fix the rightleft redrawing logic (Sergey Vlasov).
52329
+
52330
+ Patch 9.1.2103
52331
+ Problem: tests: test_fold.vim leaves swapfiles behind
52332
+ Solution: Close open buffer using :bw! instead of :close!
52333
+
52334
+ Patch 9.1.2104
52335
+ Problem: readdirex() might be slow (Mao-Yining)
52336
+ Solution: Avoid double slash in path concatenation in create_readdirex_item()
52337
+ (Yasuhiro Matsumoto).
52338
+
52339
+ Patch 9.1.2105
52340
+ Problem: Not enough tests for using plain_vgetc().
52341
+ Solution: Add tests for using plain_vgetc() during various commands (zeertzjq)
52342
+
52343
+ Patch 9.1.2106
52344
+ Problem: Vim9: class, enum and type alias can be used as value in an
52345
+ expression (kennypete)
52346
+ Solution: Abort expression evaluation if class, enum or type alias is
52347
+ used in an expression (Yegappan Lakshmanan).
52348
+
52349
+ Patch 9.1.2107
52350
+ Problem: :normal may change cmdline history if the keys don't
52351
+ explicitly leave Cmdline mode (after 9.1.1872).
52352
+ Solution: Check ex_normal_busy (zeertzjq).
52353
+
52354
+ Patch 9.1.2108
52355
+ Problem: Test_foldtextresult_rightleft() does not restore 'columns'
52356
+ (after v9.1.2102)
52357
+ Solution: Save and restore the value of 'columns' (zeertzjq).
52358
+
52359
+ Patch 9.1.2109
52360
+ Problem: filetype: NetLinx fires are not recognized
52361
+ Solution: Detect *.axs and *.axi as netlinx filetype (kb).
52362
+
52363
+ Patch 9.1.2110
52364
+ Problem: filetype: skhd files are not recognized
52365
+ Solution: Detect .skhdrc and skhdrc as skhd filetype, include a syntax and
52366
+ filetype plugin, add syntax tests (Kiyoon Kim).
52367
+
52368
+ Patch 9.1.2111
52369
+ Problem: Vim9: no error for elseif/else after else
52370
+ Solution: Report an error (Hirohito Higashi).
52371
+
52372
+ Patch 9.1.2112
52373
+ Problem: long statusline may crash if using singlebyte encoding
52374
+ (fizz-is-on-the-way)
52375
+ Solution: Drop the non-mbyte codepath and always use the mbyte code (zeertzjq)
52376
+
52377
+ Patch 9.1.2113
52378
+ Problem: potential NULL pointer dereference issues (EpheraXun)
52379
+ Solution: Check returned pointer to be non NULL (Yasuhiro Matsumoto).
52380
+
52381
+ Patch 9.1.2114
52382
+ Problem: modeless selection not copied to * register when P in
52383
+ guioptions (Coacher)
52384
+ Solution: Make the "P" flag override the "a" and "A" flag (Foxe Chen).
52385
+
52386
+ Patch 9.1.2115
52387
+ Problem: CI: wrong preprocessor indentation (after v9.1.2114)
52388
+ Solution: Update indentation (Yasuhiro Matsumoto).
52389
+
52390
+ Patch 9.1.2116
52391
+ Problem: crash when using 'tagfunc' (Rodrigo Queipo)
52392
+ Solution: Do not add the user_data to the 'info' dictionary when called
52393
+ for insert mode completion (the TAG_INS_COMP flag is set).
52394
+ Completion should not depend on the state of a previous tag
52395
+ jump (Yasuhiro Matsumoto).
52396
+
52397
+ Patch 9.1.2117
52398
+ Problem: unnecessary braces in terminal.c
52399
+ (Christ van Willegen, after v9.1.2113)
52400
+ Solution: Remove braces.
52401
+
52402
+ Patch 9.1.2118
52403
+ Problem: 'cursorline' and part of 'statusline' are missing after
52404
+ :diffput to an empty buffer.
52405
+ Solution: Make sure the cursor doesn't go beyond the last line after
52406
+ :diffput (zeertzjq).
52407
+
52408
+ Patch 9.1.2119
52409
+ Problem: tests: Test_language_cmd fails on OpenBSD because the test
52410
+ uses an invalid locale name and expects the command to produce
52411
+ an error. OpenBSD accepts (almost) any locale name as valid by
52412
+ design, so the :lang command succeeds and the test fails.
52413
+ Solution: Slightly update the "bad" locale name to make it something
52414
+ that OpenBSD considers invalid by adding a dot (but not ending
52415
+ with ".UTF-8"). Maintain the original two underscores in the
52416
+ name because that ensures Windows will also see it as invalid
52417
+ (Kevin Goodsell).
52418
+
52419
+ Patch 9.1.2120
52420
+ Problem: blob2str() does not restore trailing newline
52421
+ Solution: Append empty string (thinca).
52422
+
52423
+ Patch 9.1.2121
52424
+ Problem: Vim9: type issue when modifying a variable using :legacy
52425
+ (kennypete)
52426
+ Solution: In a vim9 script, when modifying a variable using the legacy
52427
+ command, check the type (Yegappan Lakshmanan).
52428
+
52429
+ Patch 9.1.2122
52430
+ Problem: Vim9: Negating a float doesn't result in a boolean (kennypete)
52431
+ Solution: Make it return a boolean (Yegappan Lakshmanan).
52432
+
52433
+ Patch 9.1.2123
52434
+ Problem: using NOT with a float returns a float in legacy vim script
52435
+ (kennypete)
52436
+ Solution: Return a number instead of a float (Yegappan Lakshmanan).
52437
+
52438
+ Patch 9.1.2124
52439
+ Problem: blob2str() does not handle UTF-16 encoding (Hirohito Higashi)
52440
+ Solution: Refactor the code and fix remaining issues, see below
52441
+ (Yasuhiro Matsumoto).
52442
+
52443
+ Patch 9.1.2125
52444
+ Problem: MS-Windows: DirectX rendering can be improved
52445
+ Solution: Use lpDx advance, fix vertical text shift and correct
52446
+ font-size calculations (Yasuhiro Matsumoto).
52447
+
52448
+ Patch 9.1.2126
52449
+ Problem: vim --version used single column for feature list
52450
+ (Ben Knoble, after v9.1.1898)
52451
+ Solution: Restore old behaviour and assume 80 columns, making sure the feature
52452
+ list is shown in several columns (Ben Knoble, Hirohito Higashi).
52453
+
52454
+ Patch 9.1.2127
52455
+ Problem: MS-Windows: DirectX renders font too small in comparison to
52456
+ the GDI rendering (Linwei, after v9.1.2125)
52457
+ Solution: Implement proper font clipping (Yasuhiro Matsumoto).
52458
+
52459
+ Patch 9.1.2128
52460
+ Problem: heap UAF if autocommands from reloading a file changed outside
52461
+ of Vim wipe its buffer.
52462
+ Solution: Validate the bufref after buf_reload (Sean Dewar).
52463
 
52464
  vim:tw=78:ts=8:noet:ft=help:norl:fdm=manual:nofoldenable